40ebf2:	1b f6                	sbb    %esi,%esi
40ebf4:	f7 de                	neg    %esi
40ebf6:	f7 de                	neg    %esi
40ebf8:	ff 15 58 11 40 00    	call   *0x401158
40ebfe:	66 85 f6             	test   %si,%si
40ec01:	0f 84 8e 00 00 00    	je     0x40ec95
40ec07:	dd 05 80 11 40 00    	fldl   0x401180
40ec0d:	8b 37                	mov    (%edi),%esi
40ec0f:	83 3d 00 00 41 00 00 	cmpl   $0x0,0x410000
40ec16:	75 08                	jne    0x40ec20
40ec18:	dc 35 78 11 40 00    	fdivl  0x401178
40ec1e:	eb 11                	jmp    0x40ec31
40ec20:	ff 35 7c 11 40 00    	push   0x40117c
40ec26:	ff 35 78 11 40 00    	push   0x401178
40ec2c:	e8 c3 25 ff ff       	call   0x4011f4
40ec31:	68 00 00 b6 42       	push   $0x42b60000
40ec36:	51                   	push   %ecx
40ec37:	df e0                	fnstsw %ax
40ec39:	a8 0d                	test   $0xd,%al
40ec3b:	0f 85 52 09 00 00    	jne    0x40f593
40ec41:	d9 9d 68 fe ff ff    	fstps  -0x198(%ebp)
40ec47:	d9 85 68 fe ff ff    	flds   -0x198(%ebp)
40ec4d:	d9 1c 24             	fstps  (%esp)
40ec50:	68 00 00 57 43       	push   $0x43570000
40ec55:	dd 05 70 11 40 00    	fldl   0x401170
40ec5b:	ff 15 34 11 40 00    	call   *0x401134
40ec61:	50                   	push   %eax
40ec62:	68 00 00 5d 43       	push   $0x435d0000
40ec67:	68 c0 ac 50 4a       	push   $0x4a50acc0
40ec6c:	68 a8 58 d2 49       	push   $0x49d258a8
40ec71:	68 c2 01 00 00       	push   $0x1c2
40ec76:	57                   	push   %edi
40ec77:	ff 96 c0 02 00 00    	call   *0x2c0(%esi)
40ec7d:	db e2                	fnclex
40ec7f:	85 c0                	test   %eax,%eax
40ec81:	7d 12                	jge    0x40ec95
40ec83:	68 c0 02 00 00       	push   $0x2c0
40ec88:	68 9c d7 40 00       	push   $0x40d79c
40ec8d:	57                   	push   %edi
40ec8e:	50                   	push   %eax
40ec8f:	ff 15 38 10 40 00    	call   *0x401038
40ec95:	68 2c dc 40 00       	push   $0x40dc2c
40ec9a:	68 2c dc 40 00       	push   $0x40dc2c
40ec9f:	ff 15 30 10 40 00    	call   *0x401030
40eca5:	8b d0                	mov    %eax,%edx
40eca7:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40ecad:	ff 15 48 11 40 00    	call   *0x401148
40ecb3:	50                   	push   %eax
40ecb4:	68 2c dc 40 00       	push   $0x40dc2c
40ecb9:	6a 00                	push   $0x0
40ecbb:	ff d3                	call   *%ebx
40ecbd:	33 f6                	xor    %esi,%esi
40ecbf:	66 8b f0             	mov    %ax,%si
40ecc2:	66 4e                	dec    %si
40ecc4:	66 f7 de             	neg    %si
40ecc7:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40eccd:	1b f6                	sbb    %esi,%esi
40eccf:	f7 de                	neg    %esi
40ecd1:	f7 de                	neg    %esi
40ecd3:	ff 15 58 11 40 00    	call   *0x401158
40ecd9:	66 85 f6             	test   %si,%si
40ecdc:	74 26                	je     0x40ed04
40ecde:	8b 17                	mov    (%edi),%edx
40ece0:	68 b9 14 00 00       	push   $0x14b9
40ece5:	57                   	push   %edi
40ece6:	ff 92 5c 01 00 00    	call   *0x15c(%edx)
40ecec:	db e2                	fnclex
40ecee:	85 c0                	test   %eax,%eax
40ecf0:	7d 12                	jge    0x40ed04
40ecf2:	68 5c 01 00 00       	push   $0x15c
40ecf7:	68 9c d7 40 00       	push   $0x40d79c
40ecfc:	57                   	push   %edi
40ecfd:	50                   	push   %eax
40ecfe:	ff 15 38 10 40 00    	call   *0x401038
40ed04:	a1 20 07 41 00       	mov    0x410720,%eax
40ed09:	85 c0                	test   %eax,%eax
40ed0b:	75 10                	jne    0x40ed1d
40ed0d:	68 20 07 41 00       	push   $0x410720
40ed12:	68 94 d9 40 00       	push   $0x40d994
40ed17:	ff 15 e8 10 40 00    	call   *0x4010e8
40ed1d:	8b 35 20 07 41 00    	mov    0x410720,%esi
40ed23:	8b 06                	mov    (%esi),%eax
40ed25:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40ed2b:	51                   	push   %ecx
40ed2c:	56                   	push   %esi
40ed2d:	ff 50 14             	call   *0x14(%eax)
40ed30:	db e2                	fnclex
40ed32:	85 c0                	test   %eax,%eax
40ed34:	7d 0f                	jge    0x40ed45
40ed36:	6a 14                	push   $0x14
40ed38:	68 84 d9 40 00       	push   $0x40d984
40ed3d:	56                   	push   %esi
40ed3e:	50                   	push   %eax
40ed3f:	ff 15 38 10 40 00    	call   *0x401038
40ed45:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40ed4b:	8b 10                	mov    (%eax),%edx
40ed4d:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40ed53:	51                   	push   %ecx
40ed54:	50                   	push   %eax
40ed55:	8b f0                	mov    %eax,%esi
40ed57:	ff 52 60             	call   *0x60(%edx)
40ed5a:	db e2                	fnclex
40ed5c:	85 c0                	test   %eax,%eax
40ed5e:	7d 0f                	jge    0x40ed6f
40ed60:	6a 60                	push   $0x60
40ed62:	68 b4 d9 40 00       	push   $0x40d9b4
40ed67:	56                   	push   %esi
40ed68:	50                   	push   %eax
40ed69:	ff 15 38 10 40 00    	call   *0x401038
40ed6f:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx
40ed75:	8b 35 48 11 40 00    	mov    0x401148,%esi
40ed7b:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40ed7e:	c7 85 5c ff ff ff 00 	movl   $0x0,-0xa4(%ebp)
40ed85:	00 00 00
40ed88:	ff d6                	call   *%esi
40ed8a:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40ed90:	ff 15 5c 11 40 00    	call   *0x40115c
40ed96:	6a 00                	push   $0x0
40ed98:	6a 00                	push   $0x0
40ed9a:	ff 15 00 10 40 00    	call   *0x401000
40eda0:	ff 15 6c 10 40 00    	call   *0x40106c
40eda6:	dc 1d 68 11 40 00    	fcompl 0x401168
40edac:	df e0                	fnstsw %ax
40edae:	f6 c4 40             	test   $0x40,%ah
40edb1:	75 0b                	jne    0x40edbe
40edb3:	68 34 dc 40 00       	push   $0x40dc34
40edb8:	ff 15 d0 10 40 00    	call   *0x4010d0
40edbe:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40edc4:	bf 04 00 02 80       	mov    $0x80020004,%edi
40edc9:	bb 0a 00 00 00       	mov    $0xa,%ebx
40edce:	52                   	push   %edx
40edcf:	89 bd 48 ff ff ff    	mov    %edi,-0xb8(%ebp)
40edd5:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
40eddb:	ff 15 e0 10 40 00    	call   *0x4010e0
40ede1:	8b d0                	mov    %eax,%edx
40ede3:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40ede9:	ff d6                	call   *%esi
40edeb:	50                   	push   %eax
40edec:	68 54 dc 40 00       	push   $0x40dc54
40edf1:	ff 15 84 10 40 00    	call   *0x401084
40edf7:	8b f0                	mov    %eax,%esi
40edf9:	f7 de                	neg    %esi
40edfb:	1b f6                	sbb    %esi,%esi
40edfd:	46                   	inc    %esi
40edfe:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40ee04:	f7 de                	neg    %esi
40ee06:	ff 15 58 11 40 00    	call   *0x401158
40ee0c:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40ee12:	ff 15 14 10 40 00    	call   *0x401014
40ee18:	66 85 f6             	test   %si,%si
40ee1b:	0f 84 95 00 00 00    	je     0x40eeb6
40ee21:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
40ee27:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40ee2d:	89 bd 18 ff ff ff    	mov    %edi,-0xe8(%ebp)
40ee33:	89 9d 10 ff ff ff    	mov    %ebx,-0xf0(%ebp)
40ee39:	89 bd 28 ff ff ff    	mov    %edi,-0xd8(%ebp)
40ee3f:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
40ee45:	89 bd 38 ff ff ff    	mov    %edi,-0xc8(%ebp)
40ee4b:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
40ee51:	c7 85 04 ff ff ff 9c 	movl   $0x40dc9c,-0xfc(%ebp)
40ee58:	dc 40 00
40ee5b:	c7 85 fc fe ff ff 08 	movl   $0x8,-0x104(%ebp)
40ee62:	00 00 00
40ee65:	ff 15 2c 11 40 00    	call   *0x40112c
40ee6b:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
40ee71:	50                   	push   %eax
40ee72:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
40ee78:	51                   	push   %ecx
40ee79:	8d 95 30 ff ff ff    	lea    -0xd0(%ebp),%edx
40ee7f:	52                   	push   %edx
40ee80:	6a 00                	push   $0x0
40ee82:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40ee88:	50                   	push   %eax
40ee89:	ff 15 5c 10 40 00    	call   *0x40105c
40ee8f:	8d 8d 10 ff ff ff    	lea    -0xf0(%ebp),%ecx
40ee95:	51                   	push   %ecx
40ee96:	8d 95 20 ff ff ff    	lea    -0xe0(%ebp),%edx
40ee9c:	52                   	push   %edx
40ee9d:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40eea3:	50                   	push   %eax
40eea4:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40eeaa:	51                   	push   %ecx
40eeab:	6a 04                	push   $0x4
40eead:	ff 15 18 10 40 00    	call   *0x401018
40eeb3:	83 c4 14             	add    $0x14,%esp
40eeb6:	6a 00                	push   $0x0
40eeb8:	6a 03                	push   $0x3
40eeba:	6a 01                	push   $0x1
40eebc:	6a 00                	push   $0x0
40eebe:	8d 95 0c ff ff ff    	lea    -0xf4(%ebp),%edx
40eec4:	52                   	push   %edx
40eec5:	6a 10                	push   $0x10
40eec7:	68 80 08 00 00       	push   $0x880
40eecc:	ff 15 a8 10 40 00    	call   *0x4010a8
40eed2:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40eed8:	8b 1d 10 10 40 00    	mov    0x401010,%ebx
40eede:	c7 85 04 ff ff ff ff 	movl   $0xffffffff,-0xfc(%ebp)
40eee5:	ff ff ff
40eee8:	bf 0b 00 00 00       	mov    $0xb,%edi
40eeed:	89 bd fc fe ff ff    	mov    %edi,-0x104(%ebp)
40eef3:	8b 48 14             	mov    0x14(%eax),%ecx
40eef6:	c1 e1 04             	shl    $0x4,%ecx
40eef9:	8b f1                	mov    %ecx,%esi
40eefb:	8b 48 0c             	mov    0xc(%eax),%ecx
40eefe:	83 c4 1c             	add    $0x1c,%esp
40ef01:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
40ef07:	2b ce                	sub    %esi,%ecx
40ef09:	ff d3                	call   *%ebx
40ef0b:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40ef11:	c7 85 f4 fe ff ff c8 	movl   $0x40d9c8,-0x10c(%ebp)
40ef18:	d9 40 00
40ef1b:	c7 85 ec fe ff ff 08 	movl   $0x8,-0x114(%ebp)
40ef22:	00 00 00
40ef25:	8b 48 14             	mov    0x14(%eax),%ecx
40ef28:	c1 e1 04             	shl    $0x4,%ecx
40ef2b:	8b f1                	mov    %ecx,%esi
40ef2d:	8b 48 0c             	mov    0xc(%eax),%ecx
40ef30:	2b ce                	sub    %esi,%ecx
40ef32:	8b 35 38 11 40 00    	mov    0x401138,%esi
40ef38:	8d 95 ec fe ff ff    	lea    -0x114(%ebp),%edx
40ef3e:	83 c1 10             	add    $0x10,%ecx
40ef41:	ff d6                	call   *%esi
40ef43:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40ef49:	c7 85 e4 fe ff ff ff 	movl   $0xffffffff,-0x11c(%ebp)
40ef50:	ff ff ff
40ef53:	89 bd dc fe ff ff    	mov    %edi,-0x124(%ebp)
40ef59:	8b 78 14             	mov    0x14(%eax),%edi
40ef5c:	b9 02 00 00 00       	mov    $0x2,%ecx
40ef61:	2b cf                	sub    %edi,%ecx
40ef63:	8b 78 0c             	mov    0xc(%eax),%edi
40ef66:	c1 e1 04             	shl    $0x4,%ecx
40ef69:	8d 95 dc fe ff ff    	lea    -0x124(%ebp),%edx
40ef6f:	03 cf                	add    %edi,%ecx
40ef71:	ff d3                	call   *%ebx
40ef73:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
40ef79:	c7 85 d4 fe ff ff c0 	movl   $0x40dcc0,-0x12c(%ebp)
40ef80:	dc 40 00
40ef83:	c7 85 cc fe ff ff 08 	movl   $0x8,-0x134(%ebp)
40ef8a:	00 00 00
40ef8d:	8b 78 14             	mov    0x14(%eax),%edi
40ef90:	b9 03 00 00 00       	mov    $0x3,%ecx
40ef95:	2b cf                	sub    %edi,%ecx
40ef97:	8b 78 0c             	mov    0xc(%eax),%edi
40ef9a:	c1 e1 04             	shl    $0x4,%ecx
40ef9d:	8d 95 cc fe ff ff    	lea    -0x134(%ebp),%edx
40efa3:	03 cf                	add    %edi,%ecx
40efa5:	ff d6                	call   *%esi
40efa7:	8d 95 0c ff ff ff    	lea    -0xf4(%ebp),%edx
40efad:	52                   	push   %edx
40efae:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40efb4:	50                   	push   %eax
40efb5:	ff 15 48 10 40 00    	call   *0x401048
40efbb:	8d 8d 0c ff ff ff    	lea    -0xf4(%ebp),%ecx
40efc1:	51                   	push   %ecx
40efc2:	6a 00                	push   $0x0
40efc4:	ff 15 74 10 40 00    	call   *0x401074
40efca:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40efd0:	52                   	push   %edx
40efd1:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
40efd7:	50                   	push   %eax
40efd8:	c7 85 c4 fe ff ff c8 	movl   $0x40d9c8,-0x13c(%ebp)
40efdf:	d9 40 00
40efe2:	c7 85 bc fe ff ff 08 	movl   $0x8008,-0x144(%ebp)
40efe9:	80 00 00
40efec:	ff 15 18 11 40 00    	call   *0x401118
40eff2:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40eff8:	8b f0                	mov    %eax,%esi
40effa:	ff 15 14 10 40 00    	call   *0x401014
40f000:	66 85 f6             	test   %si,%si
40f003:	0f 84 c4 00 00 00    	je     0x40f0cd
40f009:	a1 20 07 41 00       	mov    0x410720,%eax
40f00e:	85 c0                	test   %eax,%eax
40f010:	75 10                	jne    0x40f022
40f012:	68 20 07 41 00       	push   $0x410720
40f017:	68 94 d9 40 00       	push   $0x40d994
40f01c:	ff 15 e8 10 40 00    	call   *0x4010e8
40f022:	8b 35 20 07 41 00    	mov    0x410720,%esi
40f028:	8b 0e                	mov    (%esi),%ecx
40f02a:	8d 95 54 ff ff ff    	lea    -0xac(%ebp),%edx
40f030:	52                   	push   %edx
40f031:	56                   	push   %esi
40f032:	ff 51 4c             	call   *0x4c(%ecx)
40f035:	db e2                	fnclex
40f037:	85 c0                	test   %eax,%eax
40f039:	7d 0f                	jge    0x40f04a
40f03b:	6a 4c                	push   $0x4c
40f03d:	68 84 d9 40 00       	push   $0x40d984
40f042:	56                   	push   %esi
40f043:	50                   	push   %eax
40f044:	ff 15 38 10 40 00    	call   *0x401038
40f04a:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
40f050:	8d 9d 50 ff ff ff    	lea    -0xb0(%ebp),%ebx
40f056:	53                   	push   %ebx
40f057:	83 ec 10             	sub    $0x10,%esp
40f05a:	ba 02 00 00 00       	mov    $0x2,%edx
40f05f:	8b dc                	mov    %esp,%ebx
40f061:	89 13                	mov    %edx,(%ebx)
40f063:	89 95 fc fe ff ff    	mov    %edx,-0x104(%ebp)
40f069:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
40f06f:	b9 18 00 00 00       	mov    $0x18,%ecx
40f074:	89 53 04             	mov    %edx,0x4(%ebx)
40f077:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40f07d:	8b 38                	mov    (%eax),%edi
40f07f:	89 4b 08             	mov    %ecx,0x8(%ebx)
40f082:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40f088:	50                   	push   %eax
40f089:	8b f0                	mov    %eax,%esi
40f08b:	89 4b 0c             	mov    %ecx,0xc(%ebx)
40f08e:	ff 57 1c             	call   *0x1c(%edi)
40f091:	db e2                	fnclex
40f093:	85 c0                	test   %eax,%eax
40f095:	7d 0f                	jge    0x40f0a6
40f097:	6a 1c                	push   $0x1c
40f099:	68 a4 d9 40 00       	push   $0x40d9a4
40f09e:	56                   	push   %esi
40f09f:	50                   	push   %eax
40f0a0:	ff 15 38 10 40 00    	call   *0x401038
40f0a6:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
40f0ac:	50                   	push   %eax
40f0ad:	8d 55 dc             	lea    -0x24(%ebp),%edx
40f0b0:	52                   	push   %edx
40f0b1:	c7 85 50 ff ff ff 00 	movl   $0x0,-0xb0(%ebp)
40f0b8:	00 00 00
40f0bb:	ff 15 fc 10 40 00    	call   *0x4010fc
40f0c1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
40f0c7:	ff 15 5c 11 40 00    	call   *0x40115c
40f0cd:	8b 3d 2c 11 40 00    	mov    0x40112c,%edi
40f0d3:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
40f0d9:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40f0df:	c7 85 04 ff ff ff c8 	movl   $0x40dcc8,-0xfc(%ebp)
40f0e6:	dc 40 00
40f0e9:	c7 85 fc fe ff ff 08 	movl   $0x8,-0x104(%ebp)
40f0f0:	00 00 00
40f0f3:	ff d7                	call   *%edi
40f0f5:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40f0fb:	50                   	push   %eax
40f0fc:	ff 15 3c 10 40 00    	call   *0x40103c
40f102:	33 f6                	xor    %esi,%esi
40f104:	66 8b f0             	mov    %ax,%si
40f107:	66 f7 de             	neg    %si
40f10a:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40f110:	1b f6                	sbb    %esi,%esi
40f112:	f7 de                	neg    %esi
40f114:	f7 de                	neg    %esi
40f116:	ff 15 14 10 40 00    	call   *0x401014
40f11c:	66 85 f6             	test   %si,%si
40f11f:	74 53                	je     0x40f174
40f121:	8d 95 fc fe ff ff    	lea    -0x104(%ebp),%edx
40f127:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
40f12d:	c7 85 04 ff ff ff 20 	movl   $0x40dd20,-0xfc(%ebp)