457d61:	83 f8 ff             	cmp    $0xffffffff,%eax
457d64:	74 23                	je     0x457d89
457d66:	8b 47 04             	mov    0x4(%edi),%eax
457d69:	6a 29                	push   $0x29
457d6b:	8b 30                	mov    (%eax),%esi
457d6d:	8b ce                	mov    %esi,%ecx
457d6f:	e8 78 9e fa ff       	call   0x401bec
457d74:	84 c0                	test   %al,%al
457d76:	75 11                	jne    0x457d89
457d78:	8b ce                	mov    %esi,%ecx
457d7a:	e8 07 55 fb ff       	call   0x40d286
457d7f:	8b f0                	mov    %eax,%esi
457d81:	81 ce 00 00 01 00    	or     $0x10000,%esi
457d87:	eb 02                	jmp    0x457d8b
457d89:	8b f3                	mov    %ebx,%esi
457d8b:	8b 4f 04             	mov    0x4(%edi),%ecx
457d8e:	6a 29                	push   $0x29
457d90:	8b 49 04             	mov    0x4(%ecx),%ecx
457d93:	e8 54 9e fa ff       	call   0x401bec
457d98:	84 c0                	test   %al,%al
457d9a:	74 17                	je     0x457db3
457d9c:	8b 45 f8             	mov    -0x8(%ebp),%eax
457d9f:	05 b8 00 00 00       	add    $0xb8,%eax
457da4:	50                   	push   %eax
457da5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457da8:	e8 40 f1 fa ff       	call   0x406eed
457dad:	8b 45 d0             	mov    -0x30(%ebp),%eax
457db0:	89 45 08             	mov    %eax,0x8(%ebp)
457db3:	b8 00 40 00 00       	mov    $0x4000,%eax
457db8:	39 45 f4             	cmp    %eax,-0xc(%ebp)
457dbb:	76 11                	jbe    0x457dce
457dbd:	6a ff                	push   $0xffffffff
457dbf:	50                   	push   %eax
457dc0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457dc3:	e8 c3 33 fb ff       	call   0x40b18b
457dc8:	8b 45 e0             	mov    -0x20(%ebp),%eax
457dcb:	89 45 fc             	mov    %eax,-0x4(%ebp)
457dce:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
457dd2:	72 0d                	jb     0x457de1
457dd4:	8b 47 04             	mov    0x4(%edi),%eax
457dd7:	8b 48 10             	mov    0x10(%eax),%ecx
457dda:	e8 98 37 ff ff       	call   0x44b577
457ddf:	8b d8                	mov    %eax,%ebx
457de1:	83 7f 08 04          	cmpl   $0x4,0x8(%edi)
457de5:	72 4c                	jb     0x457e33
457de7:	8b 4f 04             	mov    0x4(%edi),%ecx
457dea:	6a 29                	push   $0x29
457dec:	8b 79 0c             	mov    0xc(%ecx),%edi
457def:	8b cf                	mov    %edi,%ecx
457df1:	e8 f6 9d fa ff       	call   0x401bec
457df6:	84 c0                	test   %al,%al
457df8:	75 39                	jne    0x457e33
457dfa:	8b cf                	mov    %edi,%ecx
457dfc:	e8 cf ae fb ff       	call   0x412cd0
457e01:	dd 05 e0 69 4b 00    	fldl   0x4b69e0
457e07:	d8 d9                	fcomp  %st(1)
457e09:	df e0                	fnstsw %ax
457e0b:	f6 c4 41             	test   $0x41,%ah
457e0e:	75 04                	jne    0x457e14
457e10:	dd d8                	fstp   %st(0)
457e12:	d9 ee                	fldz
457e14:	dc 0d 20 27 4b 00    	fmull  0x4b2720
457e1a:	e8 b1 9a 01 00       	call   0x4718d0
457e1f:	8b 55 fc             	mov    -0x4(%ebp),%edx
457e22:	50                   	push   %eax
457e23:	56                   	push   %esi
457e24:	ff 75 08             	push   0x8(%ebp)
457e27:	8b cb                	mov    %ebx,%ecx
457e29:	e8 fd f4 fe ff       	call   0x44732b
457e2e:	83 c4 0c             	add    $0xc,%esp
457e31:	eb 0e                	jmp    0x457e41
457e33:	56                   	push   %esi
457e34:	ff 75 08             	push   0x8(%ebp)
457e37:	ff 75 fc             	push   -0x4(%ebp)
457e3a:	53                   	push   %ebx
457e3b:	ff 15 e0 d6 48 00    	call   *0x48d6e0
457e41:	8b 75 0c             	mov    0xc(%ebp),%esi
457e44:	8b ce                	mov    %esi,%ecx
457e46:	8b f8                	mov    %eax,%edi
457e48:	e8 d3 ad fb ff       	call   0x412c20
457e4d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
457e50:	89 3e                	mov    %edi,(%esi)
457e52:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457e59:	e8 d9 4c fb ff       	call   0x40cb37
457e5e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
457e61:	e8 d1 4c fb ff       	call   0x40cb37
457e66:	5f                   	pop    %edi
457e67:	5e                   	pop    %esi
457e68:	33 c0                	xor    %eax,%eax
457e6a:	5b                   	pop    %ebx
457e6b:	c9                   	leave
457e6c:	c2 08 00             	ret    $0x8
457e6f:	55                   	push   %ebp
457e70:	8b ec                	mov    %esp,%ebp
457e72:	83 e4 f8             	and    $0xfffffff8,%esp
457e75:	83 ec 3c             	sub    $0x3c,%esp
457e78:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
457e7d:	8b 45 08             	mov    0x8(%ebp),%eax
457e80:	53                   	push   %ebx
457e81:	8b 40 04             	mov    0x4(%eax),%eax
457e84:	56                   	push   %esi
457e85:	8b 30                	mov    (%eax),%esi
457e87:	57                   	push   %edi
457e88:	8b f9                	mov    %ecx,%edi
457e8a:	6a 0e                	push   $0xe
457e8c:	8b ce                	mov    %esi,%ecx
457e8e:	e8 51 57 fb ff       	call   0x40d5e4
457e93:	8b ce                	mov    %esi,%ecx
457e95:	84 c0                	test   %al,%al
457e97:	74 11                	je     0x457eaa
457e99:	8d 44 24 38          	lea    0x38(%esp),%eax
457e9d:	33 db                	xor    %ebx,%ebx
457e9f:	50                   	push   %eax
457ea0:	43                   	inc    %ebx
457ea1:	e8 f7 27 ff ff       	call   0x44a69d
457ea6:	8b c8                	mov    %eax,%ecx
457ea8:	eb 2c                	jmp    0x457ed6
457eaa:	6a 02                	push   $0x2
457eac:	5b                   	pop    %ebx
457ead:	e8 ba 14 fb ff       	call   0x40936c
457eb2:	8b 4e 08             	mov    0x8(%esi),%ecx
457eb5:	8b 01                	mov    (%ecx),%eax
457eb7:	89 44 24 28          	mov    %eax,0x28(%esp)
457ebb:	8b 41 04             	mov    0x4(%ecx),%eax
457ebe:	89 44 24 2c          	mov    %eax,0x2c(%esp)
457ec2:	8b 41 08             	mov    0x8(%ecx),%eax
457ec5:	89 44 24 30          	mov    %eax,0x30(%esp)
457ec9:	8b 41 0c             	mov    0xc(%ecx),%eax
457ecc:	89 44 24 34          	mov    %eax,0x34(%esp)
457ed0:	ff 00                	incl   (%eax)
457ed2:	8d 4c 24 28          	lea    0x28(%esp),%ecx
457ed6:	8b 01                	mov    (%ecx),%eax
457ed8:	89 44 24 18          	mov    %eax,0x18(%esp)
457edc:	8b 41 04             	mov    0x4(%ecx),%eax
457edf:	89 44 24 1c          	mov    %eax,0x1c(%esp)
457ee3:	8b 41 08             	mov    0x8(%ecx),%eax
457ee6:	89 44 24 20          	mov    %eax,0x20(%esp)
457eea:	8b 41 0c             	mov    0xc(%ecx),%eax
457eed:	89 44 24 24          	mov    %eax,0x24(%esp)
457ef1:	ff 00                	incl   (%eax)
457ef3:	f6 c3 02             	test   $0x2,%bl
457ef6:	74 0c                	je     0x457f04
457ef8:	8d 4c 24 28          	lea    0x28(%esp),%ecx
457efc:	83 e3 fd             	and    $0xfffffffd,%ebx
457eff:	e8 33 4c fb ff       	call   0x40cb37
457f04:	f6 c3 01             	test   $0x1,%bl
457f07:	74 09                	je     0x457f12
457f09:	8d 4c 24 38          	lea    0x38(%esp),%ecx
457f0d:	e8 25 4c fb ff       	call   0x40cb37
457f12:	8d 4c 24 18          	lea    0x18(%esp),%ecx
457f16:	e8 df 3e fb ff       	call   0x40bdfa
457f1b:	ff 74 24 1c          	push   0x1c(%esp)
457f1f:	ff 74 24 1c          	push   0x1c(%esp)
457f23:	ff 15 60 d6 48 00    	call   *0x48d660
457f29:	8d 44 24 18          	lea    0x18(%esp),%eax
457f2d:	50                   	push   %eax
457f2e:	8b cf                	mov    %edi,%ecx
457f30:	e8 75 9d fa ff       	call   0x401caa
457f35:	85 c0                	test   %eax,%eax
457f37:	75 16                	jne    0x457f4f
457f39:	8b 75 0c             	mov    0xc(%ebp),%esi
457f3c:	8b ce                	mov    %esi,%ecx
457f3e:	e8 dd ac fb ff       	call   0x412c20
457f43:	83 26 00             	andl   $0x0,(%esi)
457f46:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
457f4d:	eb 60                	jmp    0x457faf
457f4f:	8d 9f 2c 01 00 00    	lea    0x12c(%edi),%ebx
457f55:	8b 33                	mov    (%ebx),%esi
457f57:	89 74 24 10          	mov    %esi,0x10(%esp)
457f5b:	51                   	push   %ecx
457f5c:	8b c4                	mov    %esp,%eax
457f5e:	8d 4c 24 14          	lea    0x14(%esp),%ecx
457f62:	83 20 00             	andl   $0x0,(%eax)
457f65:	e8 ac a9 fa ff       	call   0x402916
457f6a:	84 c0                	test   %al,%al
457f6c:	74 35                	je     0x457fa3
457f6e:	8b 0e                	mov    (%esi),%ecx
457f70:	8d 54 24 18          	lea    0x18(%esp),%edx
457f74:	e8 ad e9 fa ff       	call   0x406926
457f79:	84 c0                	test   %al,%al
457f7b:	75 14                	jne    0x457f91
457f7d:	8d 44 24 14          	lea    0x14(%esp),%eax
457f81:	50                   	push   %eax
457f82:	8d 4c 24 14          	lea    0x14(%esp),%ecx
457f86:	e8 f3 49 ff ff       	call   0x44c97e
457f8b:	8b 74 24 10          	mov    0x10(%esp),%esi
457f8f:	eb ca                	jmp    0x457f5b
457f91:	8b 07                	mov    (%edi),%eax
457f93:	6a 00                	push   $0x0
457f95:	8b 48 04             	mov    0x4(%eax),%ecx
457f98:	6a 01                	push   $0x1
457f9a:	03 cf                	add    %edi,%ecx
457f9c:	e8 80 b3 fa ff       	call   0x403321
457fa1:	eb 0c                	jmp    0x457faf
457fa3:	8d 44 24 18          	lea    0x18(%esp),%eax
457fa7:	50                   	push   %eax
457fa8:	8b cb                	mov    %ebx,%ecx
457faa:	e8 4a 50 ff ff       	call   0x44cff9
457faf:	8d 4c 24 18          	lea    0x18(%esp),%ecx
457fb3:	e8 7f 4b fb ff       	call   0x40cb37
457fb8:	5f                   	pop    %edi
457fb9:	5e                   	pop    %esi
457fba:	33 c0                	xor    %eax,%eax
457fbc:	5b                   	pop    %ebx
457fbd:	8b e5                	mov    %ebp,%esp
457fbf:	5d                   	pop    %ebp
457fc0:	c2 08 00             	ret    $0x8
457fc3:	55                   	push   %ebp
457fc4:	8b ec                	mov    %esp,%ebp
457fc6:	83 e4 f8             	and    $0xfffffff8,%esp
457fc9:	83 ec 3c             	sub    $0x3c,%esp
457fcc:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
457fd1:	8b 45 08             	mov    0x8(%ebp),%eax
457fd4:	53                   	push   %ebx
457fd5:	8b 40 04             	mov    0x4(%eax),%eax
457fd8:	56                   	push   %esi
457fd9:	8b 30                	mov    (%eax),%esi
457fdb:	57                   	push   %edi
457fdc:	8b f9                	mov    %ecx,%edi
457fde:	6a 0e                	push   $0xe
457fe0:	8b ce                	mov    %esi,%ecx
457fe2:	e8 fd 55 fb ff       	call   0x40d5e4
457fe7:	8b ce                	mov    %esi,%ecx
457fe9:	84 c0                	test   %al,%al
457feb:	74 11                	je     0x457ffe
457fed:	8d 44 24 38          	lea    0x38(%esp),%eax
457ff1:	33 db                	xor    %ebx,%ebx
457ff3:	50                   	push   %eax
457ff4:	43                   	inc    %ebx
457ff5:	e8 a3 26 ff ff       	call   0x44a69d
457ffa:	8b c8                	mov    %eax,%ecx
457ffc:	eb 2c                	jmp    0x45802a
457ffe:	6a 02                	push   $0x2
458000:	5b                   	pop    %ebx
458001:	e8 66 13 fb ff       	call   0x40936c
458006:	8b 4e 08             	mov    0x8(%esi),%ecx
458009:	8b 01                	mov    (%ecx),%eax
45800b:	89 44 24 28          	mov    %eax,0x28(%esp)
45800f:	8b 41 04             	mov    0x4(%ecx),%eax
458012:	89 44 24 2c          	mov    %eax,0x2c(%esp)
458016:	8b 41 08             	mov    0x8(%ecx),%eax
458019:	89 44 24 30          	mov    %eax,0x30(%esp)
45801d:	8b 41 0c             	mov    0xc(%ecx),%eax
458020:	89 44 24 34          	mov    %eax,0x34(%esp)
458024:	ff 00                	incl   (%eax)
458026:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45802a:	8b 01                	mov    (%ecx),%eax
45802c:	89 44 24 18          	mov    %eax,0x18(%esp)
458030:	8b 41 04             	mov    0x4(%ecx),%eax
458033:	89 44 24 1c          	mov    %eax,0x1c(%esp)
458037:	8b 41 08             	mov    0x8(%ecx),%eax
45803a:	89 44 24 20          	mov    %eax,0x20(%esp)
45803e:	8b 41 0c             	mov    0xc(%ecx),%eax
458041:	89 44 24 24          	mov    %eax,0x24(%esp)
458045:	ff 00                	incl   (%eax)
458047:	f6 c3 02             	test   $0x2,%bl
45804a:	74 0c                	je     0x458058
45804c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
458050:	83 e3 fd             	and    $0xfffffffd,%ebx
458053:	e8 df 4a fb ff       	call   0x40cb37
458058:	f6 c3 01             	test   $0x1,%bl
45805b:	74 09                	je     0x458066
45805d:	8d 4c 24 38          	lea    0x38(%esp),%ecx
458061:	e8 d1 4a fb ff       	call   0x40cb37
458066:	8d 4c 24 18          	lea    0x18(%esp),%ecx
45806a:	e8 8b 3d fb ff       	call   0x40bdfa
45806f:	ff 74 24 1c          	push   0x1c(%esp)
458073:	ff 74 24 1c          	push   0x1c(%esp)
458077:	ff 15 60 d6 48 00    	call   *0x48d660
45807d:	8d 44 24 18          	lea    0x18(%esp),%eax
458081:	50                   	push   %eax
458082:	8b cf                	mov    %edi,%ecx
458084:	e8 21 9c fa ff       	call   0x401caa
458089:	85 c0                	test   %eax,%eax
45808b:	74 52                	je     0x4580df
45808d:	8b b7 2c 01 00 00    	mov    0x12c(%edi),%esi
458093:	89 74 24 10          	mov    %esi,0x10(%esp)
458097:	51                   	push   %ecx
458098:	8b c4                	mov    %esp,%eax
45809a:	8d 4c 24 14          	lea    0x14(%esp),%ecx
45809e:	83 20 00             	andl   $0x0,(%eax)
4580a1:	e8 70 a8 fa ff       	call   0x402916
4580a6:	84 c0                	test   %al,%al
4580a8:	74 35                	je     0x4580df
4580aa:	8b 0e                	mov    (%esi),%ecx
4580ac:	8d 54 24 18          	lea    0x18(%esp),%edx
4580b0:	e8 71 e8 fa ff       	call   0x406926
4580b5:	84 c0                	test   %al,%al
4580b7:	75 14                	jne    0x4580cd
4580b9:	8d 44 24 14          	lea    0x14(%esp),%eax
4580bd:	50                   	push   %eax
4580be:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4580c2:	e8 b7 48 ff ff       	call   0x44c97e
4580c7:	8b 74 24 10          	mov    0x10(%esp),%esi
4580cb:	eb ca                	jmp    0x458097
4580cd:	8d 44 24 10          	lea    0x10(%esp),%eax
4580d1:	50                   	push   %eax
4580d2:	8d 8f 2c 01 00 00    	lea    0x12c(%edi),%ecx
4580d8:	e8 74 4f ff ff       	call   0x44d051
4580dd:	eb 14                	jmp    0x4580f3
4580df:	8b 75 0c             	mov    0xc(%ebp),%esi
4580e2:	8b ce                	mov    %esi,%ecx
4580e4:	e8 37 ab fb ff       	call   0x412c20
4580e9:	83 26 00             	andl   $0x0,(%esi)
4580ec:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4580f3:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4580f7:	e8 3b 4a fb ff       	call   0x40cb37
4580fc:	5f                   	pop    %edi
4580fd:	5e                   	pop    %esi
4580fe:	33 c0                	xor    %eax,%eax
458100:	5b                   	pop    %ebx
458101:	8b e5                	mov    %ebp,%esp
458103:	5d                   	pop    %ebp
458104:	c2 08 00             	ret    $0x8
458107:	55                   	push   %ebp
458108:	8b ec                	mov    %esp,%ebp
45810a:	83 e4 f8             	and    $0xfffffff8,%esp
45810d:	81 ec bc 01 00 00    	sub    $0x1bc,%esp
458113:	53                   	push   %ebx
458114:	8b 5d 0c             	mov    0xc(%ebp),%ebx
458117:	56                   	push   %esi
458118:	8b 75 08             	mov    0x8(%ebp),%esi
45811b:	57                   	push   %edi
45811c:	8b 76 08             	mov    0x8(%esi),%esi
45811f:	8b f9                	mov    %ecx,%edi
458121:	8b cb                	mov    %ebx,%ecx
458123:	c7 44 24 0c a0 0f 00 	movl   $0xfa0,0xc(%esp)
45812a:	00
45812b:	e8 f0 aa fb ff       	call   0x412c20
458130:	83 23 00             	andl   $0x0,(%ebx)
458133:	33 c0                	xor    %eax,%eax
458135:	40                   	inc    %eax
458136:	3b f0                	cmp    %eax,%esi
458138:	8b 75 08             	mov    0x8(%ebp),%esi
45813b:	89 43 0c             	mov    %eax,0xc(%ebx)
45813e:	76 1e                	jbe    0x45815e
458140:	8b 46 04             	mov    0x4(%esi),%eax
458143:	8b 48 04             	mov    0x4(%eax),%ecx
458146:	e8 3b 51 fb ff       	call   0x40d286
45814b:	85 c0                	test   %eax,%eax
45814d:	7e 0f                	jle    0x45815e
45814f:	8b 46 04             	mov    0x4(%esi),%eax
458152:	8b 48 04             	mov    0x4(%eax),%ecx
458155:	e8 2c 51 fb ff       	call   0x40d286
45815a:	89 44 24 0c          	mov    %eax,0xc(%esp)
45815e:	8d 44 24 38          	lea    0x38(%esp),%eax
458162:	50                   	push   %eax
458163:	68 01 01 00 00       	push   $0x101
458168:	ff 15 cc d7 48 00    	call   *0x48d7cc
45816e:	85 c0                	test   %eax,%eax