4528f8:	50                   	push   %eax
4528f9:	ff d6                	call   *%esi
4528fb:	50                   	push   %eax
4528fc:	57                   	push   %edi
4528fd:	ff 93 cc 02 00 00    	call   *0x2cc(%ebx)
452903:	85 c0                	test   %eax,%eax
452905:	db e2                	fnclex
452907:	7d 12                	jge    0x45291b
452909:	68 cc 02 00 00       	push   $0x2cc
45290e:	68 e4 7e 40 00       	push   $0x407ee4
452913:	57                   	push   %edi
452914:	50                   	push   %eax
452915:	ff 15 bc 10 40 00    	call   *0x4010bc
45291b:	8b 1d ac 10 40 00    	mov    0x4010ac,%ebx
452921:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
452924:	8d 55 90             	lea    -0x70(%ebp),%edx
452927:	51                   	push   %ecx
452928:	8d 45 94             	lea    -0x6c(%ebp),%eax
45292b:	52                   	push   %edx
45292c:	50                   	push   %eax
45292d:	6a 03                	push   $0x3
45292f:	ff d3                	call   *%ebx
452931:	8b 7d 08             	mov    0x8(%ebp),%edi
452934:	83 c4 10             	add    $0x10,%esp
452937:	eb 4f                	jmp    0x452988
452939:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45293c:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
452942:	51                   	push   %ecx
452943:	52                   	push   %edx
452944:	c7 85 3c ff ff ff 0d 	movl   $0xd,-0xc4(%ebp)
45294b:	00 00 00
45294e:	c7 85 34 ff ff ff 02 	movl   $0x8002,-0xcc(%ebp)
452955:	80 00 00
452958:	ff 15 18 11 40 00    	call   *0x401118
45295e:	66 85 c0             	test   %ax,%ax
452961:	75 25                	jne    0x452988
452963:	8d 45 cc             	lea    -0x34(%ebp),%eax
452966:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
45296c:	50                   	push   %eax
45296d:	51                   	push   %ecx
45296e:	c7 85 3c ff ff ff 0e 	movl   $0xe,-0xc4(%ebp)
452975:	00 00 00
452978:	c7 85 34 ff ff ff 02 	movl   $0x8002,-0xcc(%ebp)
45297f:	80 00 00
452982:	ff 15 18 11 40 00    	call   *0x401118
452988:	8b 17                	mov    (%edi),%edx
45298a:	57                   	push   %edi
45298b:	ff 92 fc 02 00 00    	call   *0x2fc(%edx)
452991:	50                   	push   %eax
452992:	8d 45 94             	lea    -0x6c(%ebp),%eax
452995:	50                   	push   %eax
452996:	ff d6                	call   *%esi
452998:	8b 08                	mov    (%eax),%ecx
45299a:	8d 55 90             	lea    -0x70(%ebp),%edx
45299d:	52                   	push   %edx
45299e:	50                   	push   %eax
45299f:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
4529a5:	ff 91 f0 00 00 00    	call   *0xf0(%ecx)
4529ab:	85 c0                	test   %eax,%eax
4529ad:	db e2                	fnclex
4529af:	7d 18                	jge    0x4529c9
4529b1:	8b 8d cc fe ff ff    	mov    -0x134(%ebp),%ecx
4529b7:	68 f0 00 00 00       	push   $0xf0
4529bc:	68 50 7d 40 00       	push   $0x407d50
4529c1:	51                   	push   %ecx
4529c2:	50                   	push   %eax
4529c3:	ff 15 bc 10 40 00    	call   *0x4010bc
4529c9:	8b 45 90             	mov    -0x70(%ebp),%eax
4529cc:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
4529cf:	51                   	push   %ecx
4529d0:	50                   	push   %eax
4529d1:	8b 10                	mov    (%eax),%edx
4529d3:	89 85 c4 fe ff ff    	mov    %eax,-0x13c(%ebp)
4529d9:	ff 92 b4 00 00 00    	call   *0xb4(%edx)
4529df:	85 c0                	test   %eax,%eax
4529e1:	db e2                	fnclex
4529e3:	7d 18                	jge    0x4529fd
4529e5:	8b 95 c4 fe ff ff    	mov    -0x13c(%ebp),%edx
4529eb:	68 b4 00 00 00       	push   $0xb4
4529f0:	68 60 7d 40 00       	push   $0x407d60
4529f5:	52                   	push   %edx
4529f6:	50                   	push   %eax
4529f7:	ff 15 bc 10 40 00    	call   *0x4010bc
4529fd:	8d 55 88             	lea    -0x78(%ebp),%edx
452a00:	b8 08 00 00 00       	mov    $0x8,%eax
452a05:	52                   	push   %edx
452a06:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
452a09:	83 ec 10             	sub    $0x10,%esp
452a0c:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
452a12:	8b d4                	mov    %esp,%edx
452a14:	c7 85 3c ff ff ff a8 	movl   $0x4073a8,-0xc4(%ebp)
452a1b:	73 40 00
452a1e:	89 8d bc fe ff ff    	mov    %ecx,-0x144(%ebp)
452a24:	8b 09                	mov    (%ecx),%ecx
452a26:	89 02                	mov    %eax,(%edx)
452a28:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
452a2e:	89 42 04             	mov    %eax,0x4(%edx)
452a31:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
452a37:	89 42 08             	mov    %eax,0x8(%edx)
452a3a:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
452a40:	89 42 0c             	mov    %eax,0xc(%edx)
452a43:	8b 55 8c             	mov    -0x74(%ebp),%edx
452a46:	52                   	push   %edx
452a47:	ff 51 30             	call   *0x30(%ecx)
452a4a:	85 c0                	test   %eax,%eax
452a4c:	db e2                	fnclex
452a4e:	7d 15                	jge    0x452a65
452a50:	8b 8d bc fe ff ff    	mov    -0x144(%ebp),%ecx
452a56:	6a 30                	push   $0x30
452a58:	68 70 7d 40 00       	push   $0x407d70
452a5d:	51                   	push   %ecx
452a5e:	50                   	push   %eax
452a5f:	ff 15 bc 10 40 00    	call   *0x4010bc
452a65:	8b 45 88             	mov    -0x78(%ebp),%eax
452a68:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
452a6e:	51                   	push   %ecx
452a6f:	50                   	push   %eax
452a70:	8b 10                	mov    (%eax),%edx
452a72:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
452a78:	ff 52 44             	call   *0x44(%edx)
452a7b:	85 c0                	test   %eax,%eax
452a7d:	db e2                	fnclex
452a7f:	7d 15                	jge    0x452a96
452a81:	8b 95 b4 fe ff ff    	mov    -0x14c(%ebp),%edx
452a87:	6a 44                	push   $0x44
452a89:	68 80 7d 40 00       	push   $0x407d80
452a8e:	52                   	push   %edx
452a8f:	50                   	push   %eax
452a90:	ff 15 bc 10 40 00    	call   *0x4010bc
452a96:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
452a9c:	50                   	push   %eax
452a9d:	ff 15 74 11 40 00    	call   *0x401174
452aa3:	8d 4d 88             	lea    -0x78(%ebp),%ecx
452aa6:	66 89 47 3c          	mov    %ax,0x3c(%edi)
452aaa:	8d 55 8c             	lea    -0x74(%ebp),%edx
452aad:	51                   	push   %ecx
452aae:	8d 45 90             	lea    -0x70(%ebp),%eax
452ab1:	52                   	push   %edx
452ab2:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452ab5:	50                   	push   %eax
452ab6:	51                   	push   %ecx
452ab7:	6a 04                	push   $0x4
452ab9:	ff d3                	call   *%ebx
452abb:	83 c4 14             	add    $0x14,%esp
452abe:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
452ac4:	ff 15 98 10 40 00    	call   *0x401098
452aca:	8b 55 c4             	mov    -0x3c(%ebp),%edx
452acd:	52                   	push   %edx
452ace:	ff 15 84 11 40 00    	call   *0x401184
452ad4:	0f bf 47 3c          	movswl 0x3c(%edi),%eax
452ad8:	89 85 40 fe ff ff    	mov    %eax,-0x1c0(%ebp)
452ade:	db 85 40 fe ff ff    	fildl  -0x1c0(%ebp)
452ae4:	dd 9d 38 fe ff ff    	fstpl  -0x1c8(%ebp)
452aea:	dc 8d 38 fe ff ff    	fmull  -0x1c8(%ebp)
452af0:	83 3d 00 70 45 00 00 	cmpl   $0x0,0x457000
452af7:	75 08                	jne    0x452b01
452af9:	dc 35 38 12 40 00    	fdivl  0x401238
452aff:	eb 11                	jmp    0x452b12
452b01:	ff 35 3c 12 40 00    	push   0x40123c
452b07:	ff 35 38 12 40 00    	push   0x401238
452b0d:	e8 e2 ea fa ff       	call   0x4015f4
452b12:	df e0                	fnstsw %ax
452b14:	a8 0d                	test   $0xd,%al
452b16:	0f 85 48 03 00 00    	jne    0x452e64
452b1c:	ff 15 c4 11 40 00    	call   *0x4011c4
452b22:	66 8b 0d 1c 70 45 00 	mov    0x45701c,%cx
452b29:	66 a3 34 70 45 00    	mov    %ax,0x457034
452b2f:	51                   	push   %ecx
452b30:	ff 15 84 10 40 00    	call   *0x401084
452b36:	8b d0                	mov    %eax,%edx
452b38:	8d 4d e8             	lea    -0x18(%ebp),%ecx
452b3b:	ff 15 d8 11 40 00    	call   *0x4011d8
452b41:	8b 17                	mov    (%edi),%edx
452b43:	57                   	push   %edi
452b44:	ff 92 34 03 00 00    	call   *0x334(%edx)
452b4a:	50                   	push   %eax
452b4b:	8d 45 94             	lea    -0x6c(%ebp),%eax
452b4e:	50                   	push   %eax
452b4f:	ff d6                	call   *%esi
452b51:	8b 55 e8             	mov    -0x18(%ebp),%edx
452b54:	8b d8                	mov    %eax,%ebx
452b56:	52                   	push   %edx
452b57:	53                   	push   %ebx
452b58:	8b 0b                	mov    (%ebx),%ecx
452b5a:	ff 51 54             	call   *0x54(%ecx)
452b5d:	85 c0                	test   %eax,%eax
452b5f:	db e2                	fnclex
452b61:	7d 0f                	jge    0x452b72
452b63:	6a 54                	push   $0x54
452b65:	68 88 7b 40 00       	push   $0x407b88
452b6a:	53                   	push   %ebx
452b6b:	50                   	push   %eax
452b6c:	ff 15 bc 10 40 00    	call   *0x4010bc
452b72:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452b75:	ff 15 fc 11 40 00    	call   *0x4011fc
452b7b:	8b 07                	mov    (%edi),%eax
452b7d:	57                   	push   %edi
452b7e:	ff 90 30 03 00 00    	call   *0x330(%eax)
452b84:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452b87:	50                   	push   %eax
452b88:	51                   	push   %ecx
452b89:	ff d6                	call   *%esi
452b8b:	66 8b 15 34 70 45 00 	mov    0x457034,%dx
452b92:	8b 18                	mov    (%eax),%ebx
452b94:	52                   	push   %edx
452b95:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
452b9b:	ff 15 84 10 40 00    	call   *0x401084
452ba1:	8b d0                	mov    %eax,%edx
452ba3:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
452ba6:	ff 15 d8 11 40 00    	call   *0x4011d8
452bac:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
452bb2:	8b 9d cc fe ff ff    	mov    -0x134(%ebp),%ebx
452bb8:	50                   	push   %eax
452bb9:	8b 85 34 fe ff ff    	mov    -0x1cc(%ebp),%eax
452bbf:	53                   	push   %ebx
452bc0:	ff 50 54             	call   *0x54(%eax)
452bc3:	85 c0                	test   %eax,%eax
452bc5:	db e2                	fnclex
452bc7:	7d 0f                	jge    0x452bd8
452bc9:	6a 54                	push   $0x54
452bcb:	68 88 7b 40 00       	push   $0x407b88
452bd0:	53                   	push   %ebx
452bd1:	50                   	push   %eax
452bd2:	ff 15 bc 10 40 00    	call   *0x4010bc
452bd8:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
452bdb:	ff 15 00 12 40 00    	call   *0x401200
452be1:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452be4:	ff 15 fc 11 40 00    	call   *0x4011fc
452bea:	8b 0f                	mov    (%edi),%ecx
452bec:	57                   	push   %edi
452bed:	ff 91 2c 03 00 00    	call   *0x32c(%ecx)
452bf3:	8d 55 84             	lea    -0x7c(%ebp),%edx
452bf6:	50                   	push   %eax
452bf7:	52                   	push   %edx
452bf8:	ff d6                	call   *%esi
452bfa:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
452c00:	8b 07                	mov    (%edi),%eax
452c02:	57                   	push   %edi
452c03:	ff 90 fc 02 00 00    	call   *0x2fc(%eax)
452c09:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452c0c:	50                   	push   %eax
452c0d:	51                   	push   %ecx
452c0e:	ff d6                	call   *%esi
452c10:	8b d8                	mov    %eax,%ebx
452c12:	8d 45 90             	lea    -0x70(%ebp),%eax
452c15:	50                   	push   %eax
452c16:	53                   	push   %ebx
452c17:	8b 13                	mov    (%ebx),%edx
452c19:	ff 92 f0 00 00 00    	call   *0xf0(%edx)
452c1f:	85 c0                	test   %eax,%eax
452c21:	db e2                	fnclex
452c23:	7d 12                	jge    0x452c37
452c25:	68 f0 00 00 00       	push   $0xf0
452c2a:	68 50 7d 40 00       	push   $0x407d50
452c2f:	53                   	push   %ebx
452c30:	50                   	push   %eax
452c31:	ff 15 bc 10 40 00    	call   *0x4010bc
452c37:	8b 45 90             	mov    -0x70(%ebp),%eax
452c3a:	8d 55 8c             	lea    -0x74(%ebp),%edx
452c3d:	52                   	push   %edx
452c3e:	50                   	push   %eax
452c3f:	8b 08                	mov    (%eax),%ecx
452c41:	8b d8                	mov    %eax,%ebx
452c43:	ff 91 b4 00 00 00    	call   *0xb4(%ecx)
452c49:	85 c0                	test   %eax,%eax
452c4b:	db e2                	fnclex
452c4d:	7d 12                	jge    0x452c61
452c4f:	68 b4 00 00 00       	push   $0xb4
452c54:	68 60 7d 40 00       	push   $0x407d60
452c59:	53                   	push   %ebx
452c5a:	50                   	push   %eax
452c5b:	ff 15 bc 10 40 00    	call   *0x4010bc
452c61:	8d 5d 88             	lea    -0x78(%ebp),%ebx
452c64:	8b 45 8c             	mov    -0x74(%ebp),%eax
452c67:	53                   	push   %ebx
452c68:	b9 08 00 00 00       	mov    $0x8,%ecx
452c6d:	83 ec 10             	sub    $0x10,%esp
452c70:	89 8d 34 ff ff ff    	mov    %ecx,-0xcc(%ebp)
452c76:	8b dc                	mov    %esp,%ebx
452c78:	c7 85 3c ff ff ff 14 	movl   $0x407d14,-0xc4(%ebp)
452c7f:	7d 40 00
452c82:	8b 10                	mov    (%eax),%edx
452c84:	50                   	push   %eax
452c85:	89 0b                	mov    %ecx,(%ebx)
452c87:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
452c8d:	89 85 bc fe ff ff    	mov    %eax,-0x144(%ebp)
452c93:	89 4b 04             	mov    %ecx,0x4(%ebx)
452c96:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
452c9c:	89 4b 08             	mov    %ecx,0x8(%ebx)
452c9f:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
452ca5:	89 4b 0c             	mov    %ecx,0xc(%ebx)
452ca8:	ff 52 30             	call   *0x30(%edx)
452cab:	85 c0                	test   %eax,%eax
452cad:	db e2                	fnclex
452caf:	7d 15                	jge    0x452cc6
452cb1:	8b 95 bc fe ff ff    	mov    -0x144(%ebp),%edx
452cb7:	6a 30                	push   $0x30
452cb9:	68 70 7d 40 00       	push   $0x407d70
452cbe:	52                   	push   %edx
452cbf:	50                   	push   %eax
452cc0:	ff 15 bc 10 40 00    	call   *0x4010bc
452cc6:	8b 45 88             	mov    -0x78(%ebp),%eax
452cc9:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
452ccf:	52                   	push   %edx
452cd0:	50                   	push   %eax
452cd1:	8b 08                	mov    (%eax),%ecx
452cd3:	8b d8                	mov    %eax,%ebx
452cd5:	ff 51 44             	call   *0x44(%ecx)
452cd8:	85 c0                	test   %eax,%eax
452cda:	db e2                	fnclex
452cdc:	7d 0f                	jge    0x452ced
452cde:	6a 44                	push   $0x44
452ce0:	68 80 7d 40 00       	push   $0x407d80
452ce5:	53                   	push   %ebx
452ce6:	50                   	push   %eax
452ce7:	ff 15 bc 10 40 00    	call   *0x4010bc
452ced:	8b 85 ac fe ff ff    	mov    -0x154(%ebp),%eax
452cf3:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
452cf9:	51                   	push   %ecx
452cfa:	8b 18                	mov    (%eax),%ebx
452cfc:	ff 15 9c 10 40 00    	call   *0x40109c
452d02:	8b d0                	mov    %eax,%edx
452d04:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
452d07:	ff 15 d8 11 40 00    	call   *0x4011d8
452d0d:	8b d3                	mov    %ebx,%edx
452d0f:	8b 9d ac fe ff ff    	mov    -0x154(%ebp),%ebx
452d15:	50                   	push   %eax
452d16:	53                   	push   %ebx
452d17:	ff 52 54             	call   *0x54(%edx)
452d1a:	85 c0                	test   %eax,%eax
452d1c:	db e2                	fnclex
452d1e:	7d 0f                	jge    0x452d2f
452d20:	6a 54                	push   $0x54
452d22:	68 88 7b 40 00       	push   $0x407b88
452d27:	53                   	push   %ebx
452d28:	50                   	push   %eax
452d29:	ff 15 bc 10 40 00    	call   *0x4010bc
452d2f:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
452d32:	ff 15 00 12 40 00    	call   *0x401200
452d38:	8d 45 84             	lea    -0x7c(%ebp),%eax
452d3b:	8d 4d 88             	lea    -0x78(%ebp),%ecx
452d3e:	50                   	push   %eax
452d3f:	8d 55 8c             	lea    -0x74(%ebp),%edx
452d42:	51                   	push   %ecx
452d43:	8d 45 90             	lea    -0x70(%ebp),%eax
452d46:	52                   	push   %edx
452d47:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
452d4a:	50                   	push   %eax
452d4b:	51                   	push   %ecx
452d4c:	6a 05                	push   $0x5