44976b:	ff 35 c0 12 40 00    	push   0x4012c0
449771:	e8 72 7e fb ff       	call   0x4015e8
449776:	8b 0e                	mov    (%esi),%ecx
449778:	51                   	push   %ecx
449779:	df e0                	fnstsw %ax
44977b:	a8 0d                	test   $0xd,%al
44977d:	0f 85 bb 05 00 00    	jne    0x449d3e
449783:	d9 1c 24             	fstps  (%esp)
449786:	56                   	push   %esi
449787:	ff 51 74             	call   *0x74(%ecx)
44978a:	85 c0                	test   %eax,%eax
44978c:	db e2                	fnclex
44978e:	7d 0b                	jge    0x44979b
449790:	6a 74                	push   $0x74
449792:	68 cc 7b 40 00       	push   $0x407bcc
449797:	56                   	push   %esi
449798:	50                   	push   %eax
449799:	ff d3                	call   *%ebx
44979b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44979e:	ff 15 fc 11 40 00    	call   *0x4011fc
4497a4:	a1 54 71 45 00       	mov    0x457154,%eax
4497a9:	85 c0                	test   %eax,%eax
4497ab:	75 10                	jne    0x4497bd
4497ad:	68 54 71 45 00       	push   $0x457154
4497b2:	68 94 2b 40 00       	push   $0x402b94
4497b7:	ff 15 88 11 40 00    	call   *0x401188
4497bd:	8b 35 54 71 45 00    	mov    0x457154,%esi
4497c3:	8d 45 94             	lea    -0x6c(%ebp),%eax
4497c6:	50                   	push   %eax
4497c7:	56                   	push   %esi
4497c8:	8b 16                	mov    (%esi),%edx
4497ca:	ff 92 88 00 00 00    	call   *0x88(%edx)
4497d0:	85 c0                	test   %eax,%eax
4497d2:	db e2                	fnclex
4497d4:	7d 0e                	jge    0x4497e4
4497d6:	68 88 00 00 00       	push   $0x88
4497db:	68 cc 7b 40 00       	push   $0x407bcc
4497e0:	56                   	push   %esi
4497e1:	50                   	push   %eax
4497e2:	ff d3                	call   *%ebx
4497e4:	a1 54 71 45 00       	mov    0x457154,%eax
4497e9:	85 c0                	test   %eax,%eax
4497eb:	75 10                	jne    0x4497fd
4497ed:	68 54 71 45 00       	push   $0x457154
4497f2:	68 94 2b 40 00       	push   $0x402b94
4497f7:	ff 15 88 11 40 00    	call   *0x401188
4497fd:	a1 90 78 45 00       	mov    0x457890,%eax
449802:	8b 0d 54 71 45 00    	mov    0x457154,%ecx
449808:	85 c0                	test   %eax,%eax
44980a:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
449810:	75 10                	jne    0x449822
449812:	68 90 78 45 00       	push   $0x457890
449817:	68 a4 72 40 00       	push   $0x4072a4
44981c:	ff 15 88 11 40 00    	call   *0x401188
449822:	8b 35 90 78 45 00    	mov    0x457890,%esi
449828:	8d 45 e0             	lea    -0x20(%ebp),%eax
44982b:	50                   	push   %eax
44982c:	56                   	push   %esi
44982d:	8b 16                	mov    (%esi),%edx
44982f:	ff 52 18             	call   *0x18(%edx)
449832:	85 c0                	test   %eax,%eax
449834:	db e2                	fnclex
449836:	7d 0b                	jge    0x449843
449838:	6a 18                	push   $0x18
44983a:	68 94 72 40 00       	push   $0x407294
44983f:	56                   	push   %esi
449840:	50                   	push   %eax
449841:	ff d3                	call   *%ebx
449843:	8b 45 e0             	mov    -0x20(%ebp),%eax
449846:	8d 55 98             	lea    -0x68(%ebp),%edx
449849:	52                   	push   %edx
44984a:	50                   	push   %eax
44984b:	8b 08                	mov    (%eax),%ecx
44984d:	8b f0                	mov    %eax,%esi
44984f:	ff 51 50             	call   *0x50(%ecx)
449852:	85 c0                	test   %eax,%eax
449854:	db e2                	fnclex
449856:	7d 0b                	jge    0x449863
449858:	6a 50                	push   $0x50
44985a:	68 fc 7a 40 00       	push   $0x407afc
44985f:	56                   	push   %esi
449860:	50                   	push   %eax
449861:	ff d3                	call   *%ebx
449863:	d9 45 98             	flds   -0x68(%ebp)
449866:	d8 65 94             	fsubs  -0x6c(%ebp)
449869:	8b b5 78 ff ff ff    	mov    -0x88(%ebp),%esi
44986f:	83 3d 00 70 45 00 00 	cmpl   $0x0,0x457000
449876:	75 08                	jne    0x449880
449878:	d8 35 c0 12 40 00    	fdivs  0x4012c0
44987e:	eb 0b                	jmp    0x44988b
449880:	ff 35 c0 12 40 00    	push   0x4012c0
449886:	e8 5d 7d fb ff       	call   0x4015e8
44988b:	8b 0e                	mov    (%esi),%ecx
44988d:	51                   	push   %ecx
44988e:	df e0                	fnstsw %ax
449890:	a8 0d                	test   $0xd,%al
449892:	0f 85 a6 04 00 00    	jne    0x449d3e
449898:	d9 1c 24             	fstps  (%esp)
44989b:	56                   	push   %esi
44989c:	ff 51 7c             	call   *0x7c(%ecx)
44989f:	85 c0                	test   %eax,%eax
4498a1:	db e2                	fnclex
4498a3:	7d 0b                	jge    0x4498b0
4498a5:	6a 7c                	push   $0x7c
4498a7:	68 cc 7b 40 00       	push   $0x407bcc
4498ac:	56                   	push   %esi
4498ad:	50                   	push   %eax
4498ae:	ff d3                	call   *%ebx
4498b0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4498b3:	ff 15 fc 11 40 00    	call   *0x4011fc
4498b9:	ba 24 7d 40 00       	mov    $0x407d24,%edx
4498be:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4498c1:	ff 15 98 11 40 00    	call   *0x401198
4498c7:	8b 17                	mov    (%edi),%edx
4498c9:	57                   	push   %edi
4498ca:	ff 92 00 03 00 00    	call   *0x300(%edx)
4498d0:	50                   	push   %eax
4498d1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4498d4:	50                   	push   %eax
4498d5:	ff 15 d0 10 40 00    	call   *0x4010d0
4498db:	8b 55 e8             	mov    -0x18(%ebp),%edx
4498de:	8b f0                	mov    %eax,%esi
4498e0:	52                   	push   %edx
4498e1:	56                   	push   %esi
4498e2:	8b 0e                	mov    (%esi),%ecx
4498e4:	ff 91 0c 01 00 00    	call   *0x10c(%ecx)
4498ea:	85 c0                	test   %eax,%eax
4498ec:	db e2                	fnclex
4498ee:	7d 0e                	jge    0x4498fe
4498f0:	68 0c 01 00 00       	push   $0x10c
4498f5:	68 50 7d 40 00       	push   $0x407d50
4498fa:	56                   	push   %esi
4498fb:	50                   	push   %eax
4498fc:	ff d3                	call   *%ebx
4498fe:	8d 4d e0             	lea    -0x20(%ebp),%ecx
449901:	ff 15 fc 11 40 00    	call   *0x4011fc
449907:	8b 07                	mov    (%edi),%eax
449909:	57                   	push   %edi
44990a:	ff 90 00 03 00 00    	call   *0x300(%eax)
449910:	8d 4d e0             	lea    -0x20(%ebp),%ecx
449913:	50                   	push   %eax
449914:	51                   	push   %ecx
449915:	ff 15 d0 10 40 00    	call   *0x4010d0
44991b:	8b f0                	mov    %eax,%esi
44991d:	56                   	push   %esi
44991e:	8b 16                	mov    (%esi),%edx
449920:	ff 92 b8 01 00 00    	call   *0x1b8(%edx)
449926:	85 c0                	test   %eax,%eax
449928:	db e2                	fnclex
44992a:	7d 0e                	jge    0x44993a
44992c:	68 b8 01 00 00       	push   $0x1b8
449931:	68 50 7d 40 00       	push   $0x407d50
449936:	56                   	push   %esi
449937:	50                   	push   %eax
449938:	ff d3                	call   *%ebx
44993a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44993d:	ff 15 fc 11 40 00    	call   *0x4011fc
449943:	8b 07                	mov    (%edi),%eax
449945:	57                   	push   %edi
449946:	ff 90 00 03 00 00    	call   *0x300(%eax)
44994c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44994f:	50                   	push   %eax
449950:	51                   	push   %ecx
449951:	ff 15 d0 10 40 00    	call   *0x4010d0
449957:	8b f0                	mov    %eax,%esi
449959:	8d 45 dc             	lea    -0x24(%ebp),%eax
44995c:	50                   	push   %eax
44995d:	56                   	push   %esi
44995e:	8b 16                	mov    (%esi),%edx
449960:	ff 92 f0 00 00 00    	call   *0xf0(%edx)
449966:	85 c0                	test   %eax,%eax
449968:	db e2                	fnclex
44996a:	7d 0e                	jge    0x44997a
44996c:	68 f0 00 00 00       	push   $0xf0
449971:	68 50 7d 40 00       	push   $0x407d50
449976:	56                   	push   %esi
449977:	50                   	push   %eax
449978:	ff d3                	call   *%ebx
44997a:	8b 45 dc             	mov    -0x24(%ebp),%eax
44997d:	8d 55 9c             	lea    -0x64(%ebp),%edx
449980:	52                   	push   %edx
449981:	50                   	push   %eax
449982:	8b 08                	mov    (%eax),%ecx
449984:	8b f0                	mov    %eax,%esi
449986:	ff 51 34             	call   *0x34(%ecx)
449989:	85 c0                	test   %eax,%eax
44998b:	db e2                	fnclex
44998d:	7d 0b                	jge    0x44999a
44998f:	6a 34                	push   $0x34
449991:	68 60 7d 40 00       	push   $0x407d60
449996:	56                   	push   %esi
449997:	50                   	push   %eax
449998:	ff d3                	call   *%ebx
44999a:	66 8b 75 9c          	mov    -0x64(%ebp),%si
44999e:	8d 45 dc             	lea    -0x24(%ebp),%eax
4499a1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4499a4:	50                   	push   %eax
4499a5:	51                   	push   %ecx
4499a6:	6a 02                	push   $0x2
4499a8:	ff 15 ac 10 40 00    	call   *0x4010ac
4499ae:	83 c4 0c             	add    $0xc,%esp
4499b1:	66 85 f6             	test   %si,%si
4499b4:	0f 85 1a 03 00 00    	jne    0x449cd4
4499ba:	8b 17                	mov    (%edi),%edx
4499bc:	57                   	push   %edi
4499bd:	ff 92 00 03 00 00    	call   *0x300(%edx)
4499c3:	50                   	push   %eax
4499c4:	8d 45 e0             	lea    -0x20(%ebp),%eax
4499c7:	50                   	push   %eax
4499c8:	ff 15 d0 10 40 00    	call   *0x4010d0
4499ce:	8b f0                	mov    %eax,%esi
4499d0:	8d 55 dc             	lea    -0x24(%ebp),%edx
4499d3:	52                   	push   %edx
4499d4:	56                   	push   %esi
4499d5:	8b 0e                	mov    (%esi),%ecx
4499d7:	ff 91 f0 00 00 00    	call   *0xf0(%ecx)
4499dd:	85 c0                	test   %eax,%eax
4499df:	db e2                	fnclex
4499e1:	7d 0e                	jge    0x4499f1
4499e3:	68 f0 00 00 00       	push   $0xf0
4499e8:	68 50 7d 40 00       	push   $0x407d50
4499ed:	56                   	push   %esi
4499ee:	50                   	push   %eax
4499ef:	ff d3                	call   *%ebx
4499f1:	8b 45 dc             	mov    -0x24(%ebp),%eax
4499f4:	8d 55 9c             	lea    -0x64(%ebp),%edx
4499f7:	52                   	push   %edx
4499f8:	50                   	push   %eax
4499f9:	8b 08                	mov    (%eax),%ecx
4499fb:	8b f0                	mov    %eax,%esi
4499fd:	ff 51 34             	call   *0x34(%ecx)
449a00:	85 c0                	test   %eax,%eax
449a02:	db e2                	fnclex
449a04:	7d 0b                	jge    0x449a11
449a06:	6a 34                	push   $0x34
449a08:	68 60 7d 40 00       	push   $0x407d60
449a0d:	56                   	push   %esi
449a0e:	50                   	push   %eax
449a0f:	ff d3                	call   *%ebx
449a11:	8b 75 9c             	mov    -0x64(%ebp),%esi
449a14:	8d 45 dc             	lea    -0x24(%ebp),%eax
449a17:	8d 4d e0             	lea    -0x20(%ebp),%ecx
449a1a:	50                   	push   %eax
449a1b:	51                   	push   %ecx
449a1c:	6a 02                	push   $0x2
449a1e:	f7 d6                	not    %esi
449a20:	ff 15 ac 10 40 00    	call   *0x4010ac
449a26:	83 c4 0c             	add    $0xc,%esp
449a29:	66 85 f6             	test   %si,%si
449a2c:	0f 84 ea 01 00 00    	je     0x449c1c
449a32:	8b 17                	mov    (%edi),%edx
449a34:	57                   	push   %edi
449a35:	ff 92 14 03 00 00    	call   *0x314(%edx)
449a3b:	8b 35 d0 10 40 00    	mov    0x4010d0,%esi
449a41:	50                   	push   %eax
449a42:	8d 45 d0             	lea    -0x30(%ebp),%eax
449a45:	50                   	push   %eax
449a46:	ff d6                	call   *%esi
449a48:	8b 0f                	mov    (%edi),%ecx
449a4a:	57                   	push   %edi
449a4b:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
449a51:	ff 91 00 03 00 00    	call   *0x300(%ecx)
449a57:	8d 55 e0             	lea    -0x20(%ebp),%edx
449a5a:	50                   	push   %eax
449a5b:	52                   	push   %edx
449a5c:	ff d6                	call   *%esi
449a5e:	8b f0                	mov    %eax,%esi
449a60:	8d 4d dc             	lea    -0x24(%ebp),%ecx
449a63:	51                   	push   %ecx
449a64:	56                   	push   %esi
449a65:	8b 06                	mov    (%esi),%eax
449a67:	ff 90 f0 00 00 00    	call   *0xf0(%eax)
449a6d:	85 c0                	test   %eax,%eax
449a6f:	db e2                	fnclex
449a71:	7d 0e                	jge    0x449a81
449a73:	68 f0 00 00 00       	push   $0xf0
449a78:	68 50 7d 40 00       	push   $0x407d50
449a7d:	56                   	push   %esi
449a7e:	50                   	push   %eax
449a7f:	ff d3                	call   *%ebx
449a81:	8b 45 dc             	mov    -0x24(%ebp),%eax
449a84:	8d 4d d8             	lea    -0x28(%ebp),%ecx
449a87:	51                   	push   %ecx
449a88:	50                   	push   %eax
449a89:	8b 10                	mov    (%eax),%edx
449a8b:	8b f0                	mov    %eax,%esi
449a8d:	ff 92 b4 00 00 00    	call   *0xb4(%edx)
449a93:	85 c0                	test   %eax,%eax
449a95:	db e2                	fnclex
449a97:	7d 0e                	jge    0x449aa7
449a99:	68 b4 00 00 00       	push   $0xb4
449a9e:	68 60 7d 40 00       	push   $0x407d60
449aa3:	56                   	push   %esi
449aa4:	50                   	push   %eax
449aa5:	ff d3                	call   *%ebx
449aa7:	8d 5d d4             	lea    -0x2c(%ebp),%ebx
449aaa:	8b 45 d8             	mov    -0x28(%ebp),%eax
449aad:	53                   	push   %ebx
449aae:	ba 08 00 00 00       	mov    $0x8,%edx
449ab3:	83 ec 10             	sub    $0x10,%esp
449ab6:	8b 30                	mov    (%eax),%esi
449ab8:	8b dc                	mov    %esp,%ebx
449aba:	b9 14 7d 40 00       	mov    $0x407d14,%ecx
449abf:	50                   	push   %eax
449ac0:	89 45 80             	mov    %eax,-0x80(%ebp)
449ac3:	89 13                	mov    %edx,(%ebx)
449ac5:	8b 55 b4             	mov    -0x4c(%ebp),%edx
449ac8:	89 53 04             	mov    %edx,0x4(%ebx)
449acb:	89 4b 08             	mov    %ecx,0x8(%ebx)
449ace:	8b 4d bc             	mov    -0x44(%ebp),%ecx
449ad1:	89 4b 0c             	mov    %ecx,0xc(%ebx)
449ad4:	ff 56 30             	call   *0x30(%esi)
449ad7:	85 c0                	test   %eax,%eax
449ad9:	db e2                	fnclex
449adb:	7d 16                	jge    0x449af3
449add:	8b 55 80             	mov    -0x80(%ebp),%edx
449ae0:	8b 1d bc 10 40 00    	mov    0x4010bc,%ebx
449ae6:	6a 30                	push   $0x30
449ae8:	68 70 7d 40 00       	push   $0x407d70
449aed:	52                   	push   %edx
449aee:	50                   	push   %eax
449aef:	ff d3                	call   *%ebx
449af1:	eb 06                	jmp    0x449af9
449af3:	8b 1d bc 10 40 00    	mov    0x4010bc,%ebx
449af9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
449afc:	8d 55 c0             	lea    -0x40(%ebp),%edx
449aff:	52                   	push   %edx
449b00:	50                   	push   %eax
449b01:	8b 08                	mov    (%eax),%ecx
449b03:	8b f0                	mov    %eax,%esi
449b05:	ff 51 44             	call   *0x44(%ecx)
449b08:	85 c0                	test   %eax,%eax
449b0a:	db e2                	fnclex
449b0c:	7d 0b                	jge    0x449b19
449b0e:	6a 44                	push   $0x44
449b10:	68 80 7d 40 00       	push   $0x407d80
449b15:	56                   	push   %esi
449b16:	50                   	push   %eax
449b17:	ff d3                	call   *%ebx
449b19:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
449b1f:	8b 55 a4             	mov    -0x5c(%ebp),%edx
449b22:	83 ec 10             	sub    $0x10,%esp
449b25:	8b 30                	mov    (%eax),%esi
449b27:	8b cc                	mov    %esp,%ecx
449b29:	b8 0a 00 00 00       	mov    $0xa,%eax
449b2e:	89 01                	mov    %eax,(%ecx)
449b30:	b8 04 00 02 80       	mov    $0x80020004,%eax
449b35:	89 51 04             	mov    %edx,0x4(%ecx)
449b38:	89 41 08             	mov    %eax,0x8(%ecx)
449b3b:	8b 45 ac             	mov    -0x54(%ebp),%eax