40b9d1:	c2 08 00             	ret    $0x8
40b9d4:	ff 74 24 10          	push   0x10(%esp)
40b9d8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b9dc:	e8 12 f8 ff ff       	call   0x40b1f3
40b9e1:	dd 44 24 08          	fldl   0x8(%esp)
40b9e5:	51                   	push   %ecx
40b9e6:	51                   	push   %ecx
40b9e7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40b9eb:	dd 1c 24             	fstpl  (%esp)
40b9ee:	e8 b1 f8 ff ff       	call   0x40b2a4
40b9f3:	c2 10 00             	ret    $0x10
40b9f6:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40b9fa:	56                   	push   %esi
40b9fb:	8b 74 24 0c          	mov    0xc(%esp),%esi
40b9ff:	8d 46 08             	lea    0x8(%esi),%eax
40ba02:	50                   	push   %eax
40ba03:	e8 af fa ff ff       	call   0x40b4b7
40ba08:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40ba0c:	56                   	push   %esi
40ba0d:	e8 63 fa ff ff       	call   0x40b475
40ba12:	5e                   	pop    %esi
40ba13:	c2 08 00             	ret    $0x8
40ba16:	ff 74 24 10          	push   0x10(%esp)
40ba1a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40ba1e:	e8 d0 f7 ff ff       	call   0x40b1f3
40ba23:	dd 44 24 08          	fldl   0x8(%esp)
40ba27:	51                   	push   %ecx
40ba28:	51                   	push   %ecx
40ba29:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40ba2d:	dd 1c 24             	fstpl  (%esp)
40ba30:	e8 6f f8 ff ff       	call   0x40b2a4
40ba35:	c2 10 00             	ret    $0x10
40ba38:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40ba3c:	56                   	push   %esi
40ba3d:	8b 74 24 0c          	mov    0xc(%esp),%esi
40ba41:	8d 46 08             	lea    0x8(%esi),%eax
40ba44:	50                   	push   %eax
40ba45:	e8 6d fa ff ff       	call   0x40b4b7
40ba4a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40ba4e:	56                   	push   %esi
40ba4f:	e8 21 fa ff ff       	call   0x40b475
40ba54:	5e                   	pop    %esi
40ba55:	c2 08 00             	ret    $0x8
40ba58:	55                   	push   %ebp
40ba59:	8b ec                	mov    %esp,%ebp
40ba5b:	51                   	push   %ecx
40ba5c:	51                   	push   %ecx
40ba5d:	56                   	push   %esi
40ba5e:	57                   	push   %edi
40ba5f:	8b 7d 0c             	mov    0xc(%ebp),%edi
40ba62:	85 ff                	test   %edi,%edi
40ba64:	8b f1                	mov    %ecx,%esi
40ba66:	77 05                	ja     0x40ba6d
40ba68:	e8 de 99 02 00       	call   0x43544b
40ba6d:	8b 45 14             	mov    0x14(%ebp),%eax
40ba70:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ba73:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ba76:	50                   	push   %eax
40ba77:	6a 01                	push   $0x1
40ba79:	ff 75 08             	push   0x8(%ebp)
40ba7c:	8b ce                	mov    %esi,%ecx
40ba7e:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ba81:	e8 0b f6 ff ff       	call   0x40b091
40ba86:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40ba8a:	74 2d                	je     0x40bab9
40ba8c:	8d 45 0c             	lea    0xc(%ebp),%eax
40ba8f:	50                   	push   %eax
40ba90:	8b ce                	mov    %esi,%ecx
40ba92:	e8 3c eb ff ff       	call   0x40a5d3
40ba97:	ff 76 08             	push   0x8(%esi)
40ba9a:	ff 15 d8 04 4b 00    	call   *0x4b04d8
40baa0:	0f af c7             	imul   %edi,%eax
40baa3:	50                   	push   %eax
40baa4:	ff 75 10             	push   0x10(%ebp)
40baa7:	ff 75 0c             	push   0xc(%ebp)
40baaa:	e8 c1 bd 00 00       	call   0x417870
40baaf:	83 c4 0c             	add    $0xc,%esp
40bab2:	8b ce                	mov    %esi,%ecx
40bab4:	e8 30 eb ff ff       	call   0x40a5e9
40bab9:	5f                   	pop    %edi
40baba:	5e                   	pop    %esi
40babb:	c9                   	leave
40babc:	c2 10 00             	ret    $0x10
40babf:	b8 e1 30 48 00       	mov    $0x4830e1,%eax
40bac4:	e8 b3 c1 00 00       	call   0x417c7c
40bac9:	83 ec 0c             	sub    $0xc,%esp
40bacc:	53                   	push   %ebx
40bacd:	8b 5d 10             	mov    0x10(%ebp),%ebx
40bad0:	85 db                	test   %ebx,%ebx
40bad2:	56                   	push   %esi
40bad3:	57                   	push   %edi
40bad4:	89 65 f0             	mov    %esp,-0x10(%ebp)
40bad7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40bada:	75 05                	jne    0x40bae1
40badc:	e8 6a 99 02 00       	call   0x43544b
40bae1:	8b 7d 0c             	mov    0xc(%ebp),%edi
40bae4:	8b c7                	mov    %edi,%eax
40bae6:	c1 e0 03             	shl    $0x3,%eax
40bae9:	50                   	push   %eax
40baea:	e8 66 45 03 00       	call   0x440055
40baef:	8b f0                	mov    %eax,%esi
40baf1:	33 c0                	xor    %eax,%eax
40baf3:	85 ff                	test   %edi,%edi
40baf5:	59                   	pop    %ecx
40baf6:	89 75 10             	mov    %esi,0x10(%ebp)
40baf9:	76 10                	jbe    0x40bb0b
40bafb:	83 64 c6 04 00       	andl   $0x0,0x4(%esi,%eax,8)
40bb00:	8b 0c 83             	mov    (%ebx,%eax,4),%ecx
40bb03:	89 0c c6             	mov    %ecx,(%esi,%eax,8)
40bb06:	40                   	inc    %eax
40bb07:	3b c7                	cmp    %edi,%eax
40bb09:	72 f0                	jb     0x40bafb
40bb0b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40bb0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bb12:	56                   	push   %esi
40bb13:	57                   	push   %edi
40bb14:	ff 75 08             	push   0x8(%ebp)
40bb17:	e8 75 f5 ff ff       	call   0x40b091
40bb1c:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40bb20:	56                   	push   %esi
40bb21:	e8 5a 45 03 00       	call   0x440080
40bb26:	59                   	pop    %ecx
40bb27:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bb2a:	5f                   	pop    %edi
40bb2b:	5e                   	pop    %esi
40bb2c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bb33:	5b                   	pop    %ebx
40bb34:	c9                   	leave
40bb35:	c2 0c 00             	ret    $0xc
40bb38:	ff 75 10             	push   0x10(%ebp)
40bb3b:	e8 40 45 03 00       	call   0x440080
40bb40:	59                   	pop    %ecx
40bb41:	6a 00                	push   $0x0
40bb43:	6a 00                	push   $0x0
40bb45:	e8 0d ba 00 00       	call   0x417557
40bb4a:	cc                   	int3
40bb4b:	e9 67 f6 ff ff       	jmp    0x40b1b7
40bb50:	e9 a6 f5 ff ff       	jmp    0x40b0fb
40bb55:	e9 54 f8 ff ff       	jmp    0x40b3ae
40bb5a:	e9 80 f7 ff ff       	jmp    0x40b2df
40bb5f:	55                   	push   %ebp
40bb60:	8b ec                	mov    %esp,%ebp
40bb62:	51                   	push   %ecx
40bb63:	51                   	push   %ecx
40bb64:	53                   	push   %ebx
40bb65:	56                   	push   %esi
40bb66:	57                   	push   %edi
40bb67:	8b f1                	mov    %ecx,%esi
40bb69:	ff 15 fc 70 4a 00    	call   *0x4a70fc
40bb6f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bb73:	89 45 f8             	mov    %eax,-0x8(%ebp)
40bb76:	8b 45 08             	mov    0x8(%ebp),%eax
40bb79:	85 c0                	test   %eax,%eax
40bb7b:	c7 45 08 71 92 48 00 	movl   $0x489271,0x8(%ebp)
40bb82:	74 03                	je     0x40bb87
40bb84:	89 45 08             	mov    %eax,0x8(%ebp)
40bb87:	ff 75 08             	push   0x8(%ebp)
40bb8a:	ff 15 88 03 4b 00    	call   *0x4b0388
40bb90:	8b f8                	mov    %eax,%edi
40bb92:	47                   	inc    %edi
40bb93:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
40bb96:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
40bb9c:	77 1c                	ja     0x40bbba
40bb9e:	53                   	push   %ebx
40bb9f:	e8 5d 58 ff ff       	call   0x401401
40bba4:	84 c0                	test   %al,%al
40bba6:	59                   	pop    %ecx
40bba7:	74 11                	je     0x40bbba
40bba9:	8b c3                	mov    %ebx,%eax
40bbab:	83 c0 03             	add    $0x3,%eax
40bbae:	83 e0 fc             	and    $0xfffffffc,%eax
40bbb1:	e8 3a ab 00 00       	call   0x4166f0
40bbb6:	8b c4                	mov    %esp,%eax
40bbb8:	eb 09                	jmp    0x40bbc3
40bbba:	53                   	push   %ebx
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