45d835:	83 bd bc fd ff ff 2c 	cmpl   $0x2c,-0x244(%ebp)
45d83c:	75 2c                	jne    0x45d86a
45d83e:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
45d844:	2b 83 e8 02 00 00    	sub    0x2e8(%ebx),%eax
45d84a:	3b c6                	cmp    %esi,%eax
45d84c:	7c 1c                	jl     0x45d86a
45d84e:	8b 83 f4 02 00 00    	mov    0x2f4(%ebx),%eax
45d854:	2b 83 ec 02 00 00    	sub    0x2ec(%ebx),%eax
45d85a:	3b c7                	cmp    %edi,%eax
45d85c:	7c 0c                	jl     0x45d86a
45d85e:	85 f6                	test   %esi,%esi
45d860:	74 08                	je     0x45d86a
45d862:	85 ff                	test   %edi,%edi
45d864:	0f 85 e5 00 00 00    	jne    0x45d94f
45d86a:	6a 2c                	push   $0x2c
45d86c:	8d 83 cc 02 00 00    	lea    0x2cc(%ebx),%eax
45d872:	6a 00                	push   $0x0
45d874:	50                   	push   %eax
45d875:	e8 bf 37 03 00       	call   0x491039
45d87a:	83 c4 0c             	add    $0xc,%esp
45d87d:	6a 00                	push   $0x0
45d87f:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
45d885:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
45d88b:	db 85 c4 fd ff ff    	fildl  -0x23c(%ebp)
45d891:	d9 9d c4 fd ff ff    	fstps  -0x23c(%ebp)
45d897:	d9 85 c4 fd ff ff    	flds   -0x23c(%ebp)
45d89d:	dc 0d b0 41 41 00    	fmull  0x4141b0
45d8a3:	e8 79 37 03 00       	call   0x491021
45d8a8:	6a 01                	push   $0x1
45d8aa:	8b f8                	mov    %eax,%edi
45d8ac:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
45d8b2:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
45d8b8:	db 85 c4 fd ff ff    	fildl  -0x23c(%ebp)
45d8be:	d9 9d c4 fd ff ff    	fstps  -0x23c(%ebp)
45d8c4:	d9 85 c4 fd ff ff    	flds   -0x23c(%ebp)
45d8ca:	dc 0d b0 41 41 00    	fmull  0x4141b0
45d8d0:	e8 4c 37 03 00       	call   0x491021
45d8d5:	6a 00                	push   $0x0
45d8d7:	8b f0                	mov    %eax,%esi
45d8d9:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
45d8df:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
45d8e5:	db 85 c4 fd ff ff    	fildl  -0x23c(%ebp)
45d8eb:	d9 9d c4 fd ff ff    	fstps  -0x23c(%ebp)
45d8f1:	d9 85 c4 fd ff ff    	flds   -0x23c(%ebp)
45d8f7:	dc 0d 40 41 41 00    	fmull  0x414140
45d8fd:	e8 1f 37 03 00       	call   0x491021
45d902:	6a 01                	push   $0x1
45d904:	89 83 e8 02 00 00    	mov    %eax,0x2e8(%ebx)
45d90a:	ff 15 dc 7d 4a 00    	call   *0x4a7ddc
45d910:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
45d916:	db 85 c4 fd ff ff    	fildl  -0x23c(%ebp)
45d91c:	d9 9d c4 fd ff ff    	fstps  -0x23c(%ebp)
45d922:	d9 85 c4 fd ff ff    	flds   -0x23c(%ebp)
45d928:	dc 0d 40 41 41 00    	fmull  0x414140
45d92e:	e8 ee 36 03 00       	call   0x491021
45d933:	8b 8b e8 02 00 00    	mov    0x2e8(%ebx),%ecx
45d939:	03 cf                	add    %edi,%ecx
45d93b:	89 83 ec 02 00 00    	mov    %eax,0x2ec(%ebx)
45d941:	03 c6                	add    %esi,%eax
45d943:	89 8b f0 02 00 00    	mov    %ecx,0x2f0(%ebx)
45d949:	89 83 f4 02 00 00    	mov    %eax,0x2f4(%ebx)
45d94f:	ff b5 b8 fd ff ff    	push   -0x248(%ebp)
45d955:	ff 15 08 70 4a 00    	call   *0x4a7008
45d95b:	33 ff                	xor    %edi,%edi
45d95d:	57                   	push   %edi
45d95e:	68 6c 3e 4a 00       	push   $0x4a3e6c
45d963:	be 48 3f 4a 00       	mov    $0x4a3f48,%esi
45d968:	8b cb                	mov    %ebx,%ecx
45d96a:	56                   	push   %esi
45d96b:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45d971:	57                   	push   %edi
45d972:	68 58 3e 4a 00       	push   $0x4a3e58
45d977:	56                   	push   %esi
45d978:	8b cb                	mov    %ebx,%ecx
45d97a:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
45d980:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45d986:	6a 00                	push   $0x0
45d988:	68 40 3e 4a 00       	push   $0x4a3e40
45d98d:	56                   	push   %esi
45d98e:	8b cb                	mov    %ebx,%ecx
45d990:	8b f8                	mov    %eax,%edi
45d992:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45d998:	6a 00                	push   $0x0
45d99a:	68 28 3e 4a 00       	push   $0x4a3e28
45d99f:	68 48 3f 4a 00       	push   $0x4a3f48
45d9a4:	8b cb                	mov    %ebx,%ecx
45d9a6:	8b f0                	mov    %eax,%esi
45d9a8:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45d9ae:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
45d9b4:	85 c9                	test   %ecx,%ecx
45d9b6:	74 6c                	je     0x45da24
45d9b8:	85 ff                	test   %edi,%edi
45d9ba:	74 68                	je     0x45da24
45d9bc:	85 f6                	test   %esi,%esi
45d9be:	74 64                	je     0x45da24
45d9c0:	85 c0                	test   %eax,%eax
45d9c2:	74 60                	je     0x45da24
45d9c4:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
45d9ca:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
45d9d0:	50                   	push   %eax
45d9d1:	57                   	push   %edi
45d9d2:	51                   	push   %ecx
45d9d3:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
45d9d9:	89 b5 b0 fd ff ff    	mov    %esi,-0x250(%ebp)
45d9df:	50                   	push   %eax
45d9e0:	8b cb                	mov    %ebx,%ecx
45d9e2:	e8 65 ff fe ff       	call   0x44d94c
45d9e7:	8d bb 90 02 00 00    	lea    0x290(%ebx),%edi
45d9ed:	8d b5 9c fd ff ff    	lea    -0x264(%ebp),%esi
45d9f3:	8b 08                	mov    (%eax),%ecx
45d9f5:	8b 50 04             	mov    0x4(%eax),%edx
45d9f8:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45d9fe:	03 c1                	add    %ecx,%eax
45da00:	89 8d 9c fd ff ff    	mov    %ecx,-0x264(%ebp)
45da06:	89 85 a4 fd ff ff    	mov    %eax,-0x25c(%ebp)
45da0c:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45da12:	89 95 a0 fd ff ff    	mov    %edx,-0x260(%ebp)
45da18:	03 c2                	add    %edx,%eax
45da1a:	89 85 a8 fd ff ff    	mov    %eax,-0x258(%ebp)
45da20:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45da21:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45da22:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45da23:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45da24:	33 ff                	xor    %edi,%edi
45da26:	be 48 3f 4a 00       	mov    $0x4a3f48,%esi
45da2b:	57                   	push   %edi
45da2c:	68 10 3e 4a 00       	push   $0x4a3e10
45da31:	56                   	push   %esi
45da32:	8b cb                	mov    %ebx,%ecx
45da34:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45da3a:	57                   	push   %edi
45da3b:	68 f8 3d 4a 00       	push   $0x4a3df8
45da40:	56                   	push   %esi
45da41:	8b cb                	mov    %ebx,%ecx
45da43:	89 83 7c 02 00 00    	mov    %eax,0x27c(%ebx)
45da49:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45da4f:	57                   	push   %edi
45da50:	68 e4 3d 4a 00       	push   $0x4a3de4
45da55:	56                   	push   %esi
45da56:	8b cb                	mov    %ebx,%ecx
45da58:	89 83 78 02 00 00    	mov    %eax,0x278(%ebx)
45da5e:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45da64:	6a 01                	push   $0x1
45da66:	68 c8 3d 4a 00       	push   $0x4a3dc8
45da6b:	56                   	push   %esi
45da6c:	8b cb                	mov    %ebx,%ecx
45da6e:	89 83 38 02 00 00    	mov    %eax,0x238(%ebx)
45da74:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45da7a:	6a 01                	push   $0x1
45da7c:	68 d8 3e 4a 00       	push   $0x4a3ed8
45da81:	be bc 3d 4a 00       	mov    $0x4a3dbc,%esi
45da86:	89 83 28 02 00 00    	mov    %eax,0x228(%ebx)
45da8c:	56                   	push   %esi
45da8d:	8b cb                	mov    %ebx,%ecx
45da8f:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45da95:	6a 0b                	push   $0xb
45da97:	68 8c 3d 4a 00       	push   $0x4a3d8c
45da9c:	56                   	push   %esi
45da9d:	8b cb                	mov    %ebx,%ecx
45da9f:	89 83 30 02 00 00    	mov    %eax,0x230(%ebx)
45daa5:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45daab:	57                   	push   %edi
45daac:	68 70 3d 4a 00       	push   $0x4a3d70
45dab1:	56                   	push   %esi
45dab2:	8b cb                	mov    %ebx,%ecx
45dab4:	89 83 00 03 00 00    	mov    %eax,0x300(%ebx)
45daba:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dac0:	57                   	push   %edi
45dac1:	68 5c 3d 4a 00       	push   $0x4a3d5c
45dac6:	56                   	push   %esi
45dac7:	8b cb                	mov    %ebx,%ecx
45dac9:	89 83 0c 03 00 00    	mov    %eax,0x30c(%ebx)
45dacf:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dad5:	57                   	push   %edi
45dad6:	68 38 3d 4a 00       	push   $0x4a3d38
45dadb:	56                   	push   %esi
45dadc:	8b cb                	mov    %ebx,%ecx
45dade:	89 83 10 03 00 00    	mov    %eax,0x310(%ebx)
45dae4:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45daea:	57                   	push   %edi
45daeb:	68 48 3d 4a 00       	push   $0x4a3d48
45daf0:	56                   	push   %esi
45daf1:	8b cb                	mov    %ebx,%ecx
45daf3:	89 83 14 03 00 00    	mov    %eax,0x314(%ebx)
45daf9:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45daff:	57                   	push   %edi
45db00:	68 24 3d 4a 00       	push   $0x4a3d24
45db05:	56                   	push   %esi
45db06:	8b cb                	mov    %ebx,%ecx
45db08:	89 83 18 03 00 00    	mov    %eax,0x318(%ebx)
45db0e:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45db14:	57                   	push   %edi
45db15:	68 10 3d 4a 00       	push   $0x4a3d10
45db1a:	56                   	push   %esi
45db1b:	8b cb                	mov    %ebx,%ecx
45db1d:	89 83 04 03 00 00    	mov    %eax,0x304(%ebx)
45db23:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45db29:	68 80 fa 40 00       	push   $0x40fa80
45db2e:	68 a0 3d 4a 00       	push   $0x4a3da0
45db33:	89 83 08 03 00 00    	mov    %eax,0x308(%ebx)
45db39:	8b cb                	mov    %ebx,%ecx
45db3b:	56                   	push   %esi
45db3c:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
45db42:	50                   	push   %eax
45db43:	ff 15 90 7b 4a 00    	call   *0x4a7b90
45db49:	50                   	push   %eax
45db4a:	8d 8b 20 03 00 00    	lea    0x320(%ebx),%ecx
45db50:	89 7d fc             	mov    %edi,-0x4(%ebp)
45db53:	ff 15 b8 75 4a 00    	call   *0x4a75b8
45db59:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
45db5d:	8d 8d ac fd ff ff    	lea    -0x254(%ebp),%ecx
45db63:	ff 15 1c 74 4a 00    	call   *0x4a741c
45db69:	ff b3 30 03 00 00    	push   0x330(%ebx)
45db6f:	be ec 3c 4a 00       	mov    $0x4a3cec,%esi
45db74:	8b cb                	mov    %ebx,%ecx
45db76:	68 cc 3c 4a 00       	push   $0x4a3ccc
45db7b:	56                   	push   %esi
45db7c:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45db82:	ff b3 34 03 00 00    	push   0x334(%ebx)
45db88:	8b cb                	mov    %ebx,%ecx
45db8a:	89 83 30 03 00 00    	mov    %eax,0x330(%ebx)
45db90:	68 ac 3c 4a 00       	push   $0x4a3cac
45db95:	56                   	push   %esi
45db96:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45db9c:	ff b3 38 03 00 00    	push   0x338(%ebx)
45dba2:	8b cb                	mov    %ebx,%ecx
45dba4:	89 83 34 03 00 00    	mov    %eax,0x334(%ebx)
45dbaa:	68 94 3c 4a 00       	push   $0x4a3c94
45dbaf:	56                   	push   %esi
45dbb0:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dbb6:	ff b3 3c 03 00 00    	push   0x33c(%ebx)
45dbbc:	8b cb                	mov    %ebx,%ecx
45dbbe:	89 83 38 03 00 00    	mov    %eax,0x338(%ebx)
45dbc4:	68 7c 3c 4a 00       	push   $0x4a3c7c
45dbc9:	56                   	push   %esi
45dbca:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dbd0:	6a ff                	push   $0xffffffff
45dbd2:	68 7c 3d 4a 00       	push   $0x4a3d7c
45dbd7:	be bc 3d 4a 00       	mov    $0x4a3dbc,%esi
45dbdc:	89 83 3c 03 00 00    	mov    %eax,0x33c(%ebx)
45dbe2:	56                   	push   %esi
45dbe3:	8b cb                	mov    %ebx,%ecx
45dbe5:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dbeb:	89 83 24 03 00 00    	mov    %eax,0x324(%ebx)
45dbf1:	83 f8 ff             	cmp    $0xffffffff,%eax
45dbf4:	75 2c                	jne    0x45dc22
45dbf6:	6a 02                	push   $0x2
45dbf8:	8d 85 c8 fd ff ff    	lea    -0x238(%ebp),%eax
45dbfe:	50                   	push   %eax
45dbff:	ff 15 88 71 4a 00    	call   *0x4a7188
45dc05:	50                   	push   %eax
45dc06:	ff 15 80 70 4a 00    	call   *0x4a7080
45dc0c:	f7 d8                	neg    %eax
45dc0e:	1b c0                	sbb    %eax,%eax
45dc10:	23 85 c8 fd ff ff    	and    -0x238(%ebp),%eax
45dc16:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
45dc1c:	89 83 24 03 00 00    	mov    %eax,0x324(%ebx)
45dc22:	57                   	push   %edi
45dc23:	68 00 3d 4a 00       	push   $0x4a3d00
45dc28:	56                   	push   %esi
45dc29:	8b cb                	mov    %ebx,%ecx
45dc2b:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dc31:	57                   	push   %edi
45dc32:	68 c0 3e 4a 00       	push   $0x4a3ec0
45dc37:	be 48 3f 4a 00       	mov    $0x4a3f48,%esi
45dc3c:	89 83 1c 03 00 00    	mov    %eax,0x31c(%ebx)
45dc42:	56                   	push   %esi
45dc43:	8b cb                	mov    %ebx,%ecx
45dc45:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dc4b:	6a 01                	push   $0x1
45dc4d:	68 a8 3e 4a 00       	push   $0x4a3ea8
45dc52:	56                   	push   %esi
45dc53:	8b cb                	mov    %ebx,%ecx
45dc55:	89 83 28 03 00 00    	mov    %eax,0x328(%ebx)
45dc5b:	ff 15 8c 7b 4a 00    	call   *0x4a7b8c
45dc61:	ff b3 78 02 00 00    	push   0x278(%ebx)
45dc67:	8b 93 28 03 00 00    	mov    0x328(%ebx),%edx
45dc6d:	8b 8b 38 02 00 00    	mov    0x238(%ebx),%ecx
45dc73:	89 83 2c 03 00 00    	mov    %eax,0x32c(%ebx)
45dc79:	e8 05 8f 01 00       	call   0x476b83
45dc7e:	68 19 00 02 00       	push   $0x20019
45dc83:	8b cb                	mov    %ebx,%ecx
45dc85:	e8 df f9 ff ff       	call   0x45d669
45dc8a:	8b f0                	mov    %eax,%esi
45dc8c:	85 f6                	test   %esi,%esi
45dc8e:	74 13                	je     0x45dca3
45dc90:	56                   	push   %esi
45dc91:	8d 8b 14 06 00 00    	lea    0x614(%ebx),%ecx
45dc97:	e8 dc bb fb ff       	call   0x419878
45dc9c:	56                   	push   %esi
45dc9d:	ff 15 08 70 4a 00    	call   *0x4a7008
45dca3:	e8 0d 28 03 00       	call   0x4904b5
45dca8:	c3                   	ret
45dca9:	8b ff                	mov    %edi,%edi
45dcab:	55                   	push   %ebp
45dcac:	8b ec                	mov    %esp,%ebp
45dcae:	81 ec 10 02 00 00    	sub    $0x210,%esp
45dcb4:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
45dcb9:	33 c5                	xor    %ebp,%eax
45dcbb:	89 45 fc             	mov    %eax,-0x4(%ebp)
45dcbe:	56                   	push   %esi
45dcbf:	57                   	push   %edi
45dcc0:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
45dcc6:	8b f1                	mov    %ecx,%esi
45dcc8:	50                   	push   %eax
45dcc9:	e8 67 f9 ff ff       	call   0x45d635
45dcce:	84 c0                	test   %al,%al
45dcd0:	74 52                	je     0x45dd24
45dcd2:	33 ff                	xor    %edi,%edi
45dcd4:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
45dcda:	57                   	push   %edi
45dcdb:	50                   	push   %eax
45dcdc:	57                   	push   %edi
45dcdd:	68 1f 00 02 00       	push   $0x2001f
45dce2:	57                   	push   %edi
45dce3:	57                   	push   %edi
45dce4:	57                   	push   %edi
45dce5:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
45dceb:	50                   	push   %eax
45dcec:	68 01 00 00 80       	push   $0x80000001
45dcf1:	ff 15 00 70 4a 00    	call   *0x4a7000
45dcf7:	85 c0                	test   %eax,%eax
45dcf9:	75 29                	jne    0x45dd24
45dcfb:	6a 2c                	push   $0x2c
45dcfd:	8d 86 cc 02 00 00    	lea    0x2cc(%esi),%eax
45dd03:	50                   	push   %eax
45dd04:	6a 03                	push   $0x3
45dd06:	57                   	push   %edi
45dd07:	68 38 3c 4a 00       	push   $0x4a3c38
45dd0c:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
45dd12:	ff 15 0c 70 4a 00    	call   *0x4a700c
45dd18:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
45dd1e:	ff 15 08 70 4a 00    	call   *0x4a7008
45dd24:	53                   	push   %ebx
45dd25:	ff b6 2c 02 00 00    	push   0x22c(%esi)
45dd2b:	bb 48 3f 4a 00       	mov    $0x4a3f48,%ebx
45dd30:	8b ce                	mov    %esi,%ecx
45dd32:	68 f4 3e 4a 00       	push   $0x4a3ef4
45dd37:	53                   	push   %ebx
45dd38:	ff 15 94 7b 4a 00    	call   *0x4a7b94
45dd3e:	8b 86 f8 02 00 00    	mov    0x2f8(%esi),%eax
45dd44:	b9 88 13 00 00       	mov    $0x1388,%ecx
45dd49:	3b c1                	cmp    %ecx,%eax
45dd4b:	7f 2b                	jg     0x45dd78
45dd4d:	39 8e fc 02 00 00    	cmp    %ecx,0x2fc(%esi)
45dd53:	7f 23                	jg     0x45dd78
45dd55:	50                   	push   %eax
45dd56:	68 94 3e 4a 00       	push   $0x4a3e94
45dd5b:	53                   	push   %ebx
45dd5c:	8b ce                	mov    %esi,%ecx