40bbbb:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40bbbe:	e8 8b 56 ff ff       	call   0x40124e
40bbc3:	ff 75 f8             	push   -0x8(%ebp)
40bbc6:	57                   	push   %edi
40bbc7:	ff 75 08             	push   0x8(%ebp)
40bbca:	50                   	push   %eax
40bbcb:	e8 e8 a7 ff ff       	call   0x4063b8
40bbd0:	85 c0                	test   %eax,%eax
40bbd2:	75 0f                	jne    0x40bbe3
40bbd4:	d9 ee                	fldz
40bbd6:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
40bbdd:	dd 1e                	fstpl  (%esi)
40bbdf:	32 db                	xor    %bl,%bl
40bbe1:	eb 32                	jmp    0x40bc15
40bbe3:	56                   	push   %esi
40bbe4:	ff 75 0c             	push   0xc(%ebp)
40bbe7:	ff 75 10             	push   0x10(%ebp)
40bbea:	50                   	push   %eax
40bbeb:	ff 15 8c 04 4b 00    	call   *0x4b048c
40bbf1:	85 c0                	test   %eax,%eax
40bbf3:	7d 1a                	jge    0x40bc0f
40bbf5:	3d 05 00 02 80       	cmp    $0x80020005,%eax
40bbfa:	74 d8                	je     0x40bbd4
40bbfc:	dd 05 80 be 48 00    	fldl   0x48be80
40bc02:	32 db                	xor    %bl,%bl
40bc04:	dd 1e                	fstpl  (%esi)
40bc06:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
40bc0d:	eb 06                	jmp    0x40bc15
40bc0f:	83 66 08 00          	andl   $0x0,0x8(%esi)
40bc13:	b3 01                	mov    $0x1,%bl
40bc15:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40bc18:	e8 ea 56 ff ff       	call   0x401307
40bc1d:	8a c3                	mov    %bl,%al
40bc1f:	8d 65 ec             	lea    -0x14(%ebp),%esp
40bc22:	5f                   	pop    %edi
40bc23:	5e                   	pop    %esi
40bc24:	5b                   	pop    %ebx
40bc25:	c9                   	leave
40bc26:	c2 0c 00             	ret    $0xc
40bc29:	b8 f3 30 48 00       	mov    $0x4830f3,%eax
40bc2e:	e8 49 c0 00 00       	call   0x417c7c
40bc33:	83 ec 28             	sub    $0x28,%esp
40bc36:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40bc3b:	53                   	push   %ebx
40bc3c:	56                   	push   %esi
40bc3d:	57                   	push   %edi
40bc3e:	89 45 ec             	mov    %eax,-0x14(%ebp)
40bc41:	89 65 f0             	mov    %esp,-0x10(%ebp)
40bc44:	8b 75 08             	mov    0x8(%ebp),%esi
40bc47:	ff 75 0c             	push   0xc(%ebp)
40bc4a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bc4e:	8b ce                	mov    %esi,%ecx
40bc50:	e8 62 f5 ff ff       	call   0x40b1b7
40bc55:	f6 45 0d 60          	testb  $0x60,0xd(%ebp)
40bc59:	75 1c                	jne    0x40bc77
40bc5b:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
40bc5f:	83 f8 15             	cmp    $0x15,%eax
40bc62:	77 13                	ja     0x40bc77
40bc64:	ff 24 85 ef bd 40 00 	jmp    *0x40bdef(,%eax,4)
40bc6b:	ff 75 14             	push   0x14(%ebp)
40bc6e:	8b ce                	mov    %esi,%ecx
40bc70:	e8 42 f5 ff ff       	call   0x40b1b7
40bc75:	8b f0                	mov    %eax,%esi
40bc77:	8d 45 0c             	lea    0xc(%ebp),%eax
40bc7a:	50                   	push   %eax
40bc7b:	ff 15 f4 04 4b 00    	call   *0x4b04f4
40bc81:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bc84:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bc8b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bc8e:	8b c6                	mov    %esi,%eax
40bc90:	e8 49 bf 00 00       	call   0x417bde
40bc95:	5f                   	pop    %edi
40bc96:	5e                   	pop    %esi
40bc97:	5b                   	pop    %ebx
40bc98:	c9                   	leave
40bc99:	c2 14 00             	ret    $0x14
40bc9c:	ff 75 14             	push   0x14(%ebp)
40bc9f:	8b ce                	mov    %esi,%ecx
40bca1:	e8 55 f4 ff ff       	call   0x40b0fb
40bca6:	eb cd                	jmp    0x40bc75
40bca8:	ff 75 14             	push   0x14(%ebp)
40bcab:	8b ce                	mov    %esi,%ecx
40bcad:	e8 7c f5 ff ff       	call   0x40b22e
40bcb2:	eb c1                	jmp    0x40bc75
40bcb4:	ff 75 18             	push   0x18(%ebp)
40bcb7:	8b ce                	mov    %esi,%ecx
40bcb9:	ff 75 14             	push   0x14(%ebp)
40bcbc:	e8 72 f4 ff ff       	call   0x40b133
40bcc1:	eb b2                	jmp    0x40bc75
40bcc3:	ff 75 18             	push   0x18(%ebp)
40bcc6:	8b ce                	mov    %esi,%ecx
40bcc8:	ff 75 14             	push   0x14(%ebp)
40bccb:	e8 a5 f4 ff ff       	call   0x40b175
40bcd0:	eb a3                	jmp    0x40bc75
40bcd2:	ff 75 14             	push   0x14(%ebp)
40bcd5:	8b ce                	mov    %esi,%ecx
40bcd7:	e8 52 f5 ff ff       	call   0x40b22e
40bcdc:	ff 75 18             	push   0x18(%ebp)
40bcdf:	eb 52                	jmp    0x40bd33
40bce1:	d9 45 14             	flds   0x14(%ebp)
40bce4:	51                   	push   %ecx
40bce5:	8b ce                	mov    %esi,%ecx
40bce7:	d9 1c 24             	fstps  (%esp)
40bcea:	e8 7a f5 ff ff       	call   0x40b269
40bcef:	eb 84                	jmp    0x40bc75
40bcf1:	dd 45 14             	fldl   0x14(%ebp)
40bcf4:	51                   	push   %ecx
40bcf5:	51                   	push   %ecx
40bcf6:	8b ce                	mov    %esi,%ecx
40bcf8:	dd 1c 24             	fstpl  (%esp)
40bcfb:	e8 a4 f5 ff ff       	call   0x40b2a4
40bd00:	e9 70 ff ff ff       	jmp    0x40bc75
40bd05:	ff 75 14             	push   0x14(%ebp)
40bd08:	ff 15 fc 04 4b 00    	call   *0x4b04fc
40bd0e:	8b f8                	mov    %eax,%edi
40bd10:	57                   	push   %edi
40bd11:	8b ce                	mov    %esi,%ecx
40bd13:	e8 16 f5 ff ff       	call   0x40b22e
40bd18:	85 ff                	test   %edi,%edi
40bd1a:	0f 86 57 ff ff ff    	jbe    0x40bc77
40bd20:	57                   	push   %edi
40bd21:	ff 75 14             	push   0x14(%ebp)
40bd24:	8b ce                	mov    %esi,%ecx
40bd26:	e8 01 4f 04 00       	call   0x450c2c
40bd2b:	e9 47 ff ff ff       	jmp    0x40bc77
40bd30:	ff 75 14             	push   0x14(%ebp)
40bd33:	8b ce                	mov    %esi,%ecx
40bd35:	e8 b9 f4 ff ff       	call   0x40b1f3
40bd3a:	e9 36 ff ff ff       	jmp    0x40bc75
40bd3f:	56                   	push   %esi
40bd40:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40bd43:	e8 34 c0 02 00       	call   0x437d7c
40bd48:	8b 45 14             	mov    0x14(%ebp),%eax
40bd4b:	8b 08                	mov    (%eax),%ecx
40bd4d:	8d 55 d8             	lea    -0x28(%ebp),%edx
40bd50:	52                   	push   %edx
40bd51:	68 bc 61 49 00       	push   $0x4961bc
40bd56:	50                   	push   %eax
40bd57:	ff 11                	call   *(%ecx)
40bd59:	85 c0                	test   %eax,%eax
40bd5b:	7d 11                	jge    0x40bd6e
40bd5d:	8b 45 14             	mov    0x14(%ebp),%eax
40bd60:	8b 08                	mov    (%eax),%ecx
40bd62:	8d 55 d8             	lea    -0x28(%ebp),%edx
40bd65:	52                   	push   %edx
40bd66:	68 1c 64 49 00       	push   $0x49641c
40bd6b:	50                   	push   %eax
40bd6c:	ff 11                	call   *(%ecx)
40bd6e:	50                   	push   %eax
40bd6f:	e8 20 e0 ff ff       	call   0x409d94
40bd74:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bd77:	8b 08                	mov    (%eax),%ecx
40bd79:	8d 55 dc             	lea    -0x24(%ebp),%edx
40bd7c:	52                   	push   %edx
40bd7d:	50                   	push   %eax
40bd7e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40bd82:	ff 51 0c             	call   *0xc(%ecx)
40bd85:	50                   	push   %eax
40bd86:	e8 09 e0 ff ff       	call   0x409d94
40bd8b:	ff 75 dc             	push   -0x24(%ebp)
40bd8e:	8b ce                	mov    %esi,%ecx
40bd90:	e8 99 f4 ff ff       	call   0x40b22e
40bd95:	ff 75 e0             	push   -0x20(%ebp)
40bd98:	8b ce                	mov    %esi,%ecx
40bd9a:	e8 18 f4 ff ff       	call   0x40b1b7
40bd9f:	ff 75 e2             	push   -0x1e(%ebp)
40bda2:	8b ce                	mov    %esi,%ecx
40bda4:	e8 0e f4 ff ff       	call   0x40b1b7
40bda9:	6a 08                	push   $0x8
40bdab:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40bdae:	50                   	push   %eax
40bdaf:	8b ce                	mov    %esi,%ecx
40bdb1:	e8 76 4e 04 00       	call   0x450c2c
40bdb6:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bdb9:	8b 08                	mov    (%eax),%ecx
40bdbb:	6a 01                	push   $0x1
40bdbd:	8d 55 d0             	lea    -0x30(%ebp),%edx
40bdc0:	52                   	push   %edx
40bdc1:	50                   	push   %eax
40bdc2:	ff 51 18             	call   *0x18(%ecx)
40bdc5:	50                   	push   %eax
40bdc6:	e8 c9 df ff ff       	call   0x409d94
40bdcb:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bdce:	8b 08                	mov    (%eax),%ecx
40bdd0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bdd4:	50                   	push   %eax
40bdd5:	ff 51 08             	call   *0x8(%ecx)
40bdd8:	e9 9a fe ff ff       	jmp    0x40bc77
40bddd:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bde0:	8b 08                	mov    (%eax),%ecx
40bde2:	50                   	push   %eax
40bde3:	ff 51 08             	call   *0x8(%ecx)
40bde6:	6a 00                	push   $0x0
40bde8:	6a 00                	push   $0x0
40bdea:	e8 68 b7 00 00       	call   0x417557
40bdef:	77 bc                	ja     0x40bdad
40bdf1:	40                   	inc    %eax
40bdf2:	00 77 bc             	add    %dh,-0x44(%edi)
40bdf5:	40                   	inc    %eax
40bdf6:	00 6b bc             	add    %ch,-0x44(%ebx)
40bdf9:	40                   	inc    %eax
40bdfa:	00 30                	add    %dh,(%eax)
40bdfc:	bd 40 00 e1 bc       	mov    $0xbce10040,%ebp
40be01:	40                   	inc    %eax
40be02:	00 f1                	add    %dh,%cl
40be04:	bc 40 00 d2 bc       	mov    $0xbcd20040,%esp
40be09:	40                   	inc    %eax
40be0a:	00 f1                	add    %dh,%cl
40be0c:	bc 40 00 05 bd       	mov    $0xbd050040,%esp
40be11:	40                   	inc    %eax
40be12:	00 3f                	add    %bh,(%edi)
40be14:	bd 40 00 30 bd       	mov    $0xbd300040,%ebp
40be19:	40                   	inc    %eax
40be1a:	00 6b bc             	add    %ch,-0x44(%ebx)
40be1d:	40                   	inc    %eax
40be1e:	00 77 bc             	add    %dh,-0x44(%edi)
40be21:	40                   	inc    %eax
40be22:	00 3f                	add    %bh,(%edi)
40be24:	bd 40 00 77 bc       	mov    $0xbc770040,%ebp
40be29:	40                   	inc    %eax
40be2a:	00 77 bc             	add    %dh,-0x44(%edi)
40be2d:	40                   	inc    %eax
40be2e:	00 9c bc 40 00 9c bc 	add    %bl,-0x4363ffc0(%esp,%edi,4)
40be35:	40                   	inc    %eax
40be36:	00 6b bc             	add    %ch,-0x44(%ebx)
40be39:	40                   	inc    %eax
40be3a:	00 a8 bc 40 00 b4    	add    %ch,-0x4bffbf44(%eax)
40be40:	bc 40 00 c3 bc       	mov    $0xbcc30040,%esp
40be45:	40                   	inc    %eax
40be46:	00 b8 fd 30 48 00    	add    %bh,0x4830fd(%eax)
40be4c:	e8 2b be 00 00       	call   0x417c7c
40be51:	83 ec 28             	sub    $0x28,%esp
40be54:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
40be59:	53                   	push   %ebx
40be5a:	56                   	push   %esi
40be5b:	8b 75 0c             	mov    0xc(%ebp),%esi
40be5e:	33 db                	xor    %ebx,%ebx
40be60:	66 39 1e             	cmp    %bx,(%esi)
40be63:	57                   	push   %edi
40be64:	89 45 ec             	mov    %eax,-0x14(%ebp)
40be67:	89 65 f0             	mov    %esp,-0x10(%ebp)
40be6a:	74 07                	je     0x40be73
40be6c:	56                   	push   %esi
40be6d:	ff 15 f4 04 4b 00    	call   *0x4b04f4
40be73:	8b 7d 08             	mov    0x8(%ebp),%edi
40be76:	56                   	push   %esi
40be77:	8b cf                	mov    %edi,%ecx
40be79:	e8 30 f5 ff ff       	call   0x40b3ae
40be7e:	66 8b 06             	mov    (%esi),%ax
40be81:	f6 c4 60             	test   $0x60,%ah
40be84:	0f 85 c5 00 00 00    	jne    0x40bf4f
40be8a:	0f b7 c0             	movzwl %ax,%eax
40be8d:	83 f8 15             	cmp    $0x15,%eax
40be90:	0f 87 b9 00 00 00    	ja     0x40bf4f
40be96:	ff 24 85 6e c0 40 00 	jmp    *0x40c06e(,%eax,4)
40be9d:	83 c6 08             	add    $0x8,%esi
40bea0:	56                   	push   %esi
40bea1:	8b cf                	mov    %edi,%ecx
40bea3:	e8 06 f5 ff ff       	call   0x40b3ae
40bea8:	e9 a4 00 00 00       	jmp    0x40bf51
40bead:	83 c6 08             	add    $0x8,%esi
40beb0:	56                   	push   %esi
40beb1:	8b cf                	mov    %edi,%ecx
40beb3:	e8 27 f4 ff ff       	call   0x40b2df
40beb8:	e9 94 00 00 00       	jmp    0x40bf51
40bebd:	83 c6 08             	add    $0x8,%esi
40bec0:	56                   	push   %esi
40bec1:	8b cf                	mov    %edi,%ecx
40bec3:	e8 ef f5 ff ff       	call   0x40b4b7
40bec8:	e9 84 00 00 00       	jmp    0x40bf51
40becd:	83 c6 08             	add    $0x8,%esi
40bed0:	56                   	push   %esi
40bed1:	8b cf                	mov    %edi,%ecx
40bed3:	e8 19 f5 ff ff       	call   0x40b3f1
40bed8:	eb 77                	jmp    0x40bf51
40beda:	83 c6 08             	add    $0x8,%esi
40bedd:	56                   	push   %esi
40bede:	8b cf                	mov    %edi,%ecx
40bee0:	e8 39 f4 ff ff       	call   0x40b31e
40bee5:	eb 6a                	jmp    0x40bf51
40bee7:	83 c6 08             	add    $0x8,%esi
40beea:	56                   	push   %esi
40beeb:	8b cf                	mov    %edi,%ecx
40beed:	e8 74 f4 ff ff       	call   0x40b366
40bef2:	eb 5d                	jmp    0x40bf51
40bef4:	8d 46 08             	lea    0x8(%esi),%eax
40bef7:	50                   	push   %eax
40bef8:	8b cf                	mov    %edi,%ecx
40befa:	e8 f2 f4 ff ff       	call   0x40b3f1
40beff:	83 c6 0c             	add    $0xc,%esi
40bf02:	eb bc                	jmp    0x40bec0
40bf04:	83 c6 08             	add    $0x8,%esi
40bf07:	56                   	push   %esi
40bf08:	8b cf                	mov    %edi,%ecx
40bf0a:	e8 24 f5 ff ff       	call   0x40b433
40bf0f:	eb 40                	jmp    0x40bf51
40bf11:	83 c6 08             	add    $0x8,%esi
40bf14:	56                   	push   %esi
40bf15:	8b cf                	mov    %edi,%ecx
40bf17:	e8 59 f5 ff ff       	call   0x40b475
40bf1c:	eb 33                	jmp    0x40bf51
40bf1e:	8d 45 08             	lea    0x8(%ebp),%eax
40bf21:	50                   	push   %eax
40bf22:	8b cf                	mov    %edi,%ecx
40bf24:	e8 c8 f4 ff ff       	call   0x40b3f1
40bf29:	39 5d 08             	cmp    %ebx,0x8(%ebp)
40bf2c:	76 3c                	jbe    0x40bf6a
40bf2e:	ff 75 08             	push   0x8(%ebp)
40bf31:	53                   	push   %ebx
40bf32:	ff 15 00 05 4b 00    	call   *0x4b0500
40bf38:	3b c3                	cmp    %ebx,%eax
40bf3a:	89 46 08             	mov    %eax,0x8(%esi)
40bf3d:	75 05                	jne    0x40bf44
40bf3f:	e8 d3 94 02 00       	call   0x435417
40bf44:	ff 75 08             	push   0x8(%ebp)
40bf47:	8b cf                	mov    %edi,%ecx
40bf49:	50                   	push   %eax
40bf4a:	e8 da 47 04 00       	call   0x450729
40bf4f:	8b c7                	mov    %edi,%eax
40bf51:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bf54:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bf5b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bf5e:	e8 7b bc 00 00       	call   0x417bde
40bf63:	5f                   	pop    %edi
40bf64:	5e                   	pop    %esi
40bf65:	5b                   	pop    %ebx
40bf66:	c9                   	leave
40bf67:	c2 08 00             	ret    $0x8
40bf6a:	89 5e 08             	mov    %ebx,0x8(%esi)
40bf6d:	eb e0                	jmp    0x40bf4f
40bf6f:	57                   	push   %edi
40bf70:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40bf73:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40bf76:	e8 01 be 02 00       	call   0x437d7c
40bf7b:	8d 45 dc             	lea    -0x24(%ebp),%eax
40bf7e:	50                   	push   %eax
40bf7f:	8b cf                	mov    %edi,%ecx
40bf81:	e8 6b f4 ff ff       	call   0x40b3f1
40bf86:	8d 45 e0             	lea    -0x20(%ebp),%eax
40bf89:	50                   	push   %eax
40bf8a:	8b cf                	mov    %edi,%ecx
40bf8c:	e8 1d f4 ff ff       	call   0x40b3ae
40bf91:	8d 45 e2             	lea    -0x1e(%ebp),%eax
40bf94:	50                   	push   %eax
40bf95:	8b cf                	mov    %edi,%ecx
40bf97:	e8 12 f4 ff ff       	call   0x40b3ae
40bf9c:	6a 08                	push   $0x8
40bf9e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40bfa1:	50                   	push   %eax
40bfa2:	8b cf                	mov    %edi,%ecx