40eb3e:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40eb44:	ff d6                	call   *%esi
40eb46:	89 85 14 fd ff ff    	mov    %eax,-0x2ec(%ebp)
40eb4c:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
40eb52:	8b 70 3c             	mov    0x3c(%eax),%esi
40eb55:	81 fe 50 f4 40 00    	cmp    $0x40f450,%esi
40eb5b:	75 1c                	jne    0x40eb79
40eb5d:	c7 85 f8 fc ff ff 00 	movl   $0x0,-0x308(%ebp)
40eb64:	00 00 00
40eb67:	8d b5 f8 fc ff ff    	lea    -0x308(%ebp),%esi
40eb6d:	c7 85 fc fc ff ff 00 	movl   $0x0,-0x304(%ebp)
40eb74:	00 00 00
40eb77:	eb 19                	jmp    0x40eb92
40eb79:	8d 85 f8 fc ff ff    	lea    -0x308(%ebp),%eax
40eb7f:	8b ce                	mov    %esi,%ecx
40eb81:	50                   	push   %eax
40eb82:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40eb88:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40eb8e:	ff d6                	call   *%esi
40eb90:	8b f0                	mov    %eax,%esi
40eb92:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40eb98:	e8 23 26 00 00       	call   0x4111c0
40eb9d:	ff b5 14 fd ff ff    	push   -0x2ec(%ebp)
40eba3:	8b 17                	mov    (%edi),%edx
40eba5:	ff 76 04             	push   0x4(%esi)
40eba8:	50                   	push   %eax
40eba9:	8b 72 08             	mov    0x8(%edx),%esi
40ebac:	8b ce                	mov    %esi,%ecx
40ebae:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ebb4:	8b cf                	mov    %edi,%ecx
40ebb6:	ff d6                	call   *%esi
40ebb8:	8b 8d 04 fd ff ff    	mov    -0x2fc(%ebp),%ecx
40ebbe:	39 41 2c             	cmp    %eax,0x2c(%ecx)
40ebc1:	0f 82 a9 00 00 00    	jb     0x40ec70
40ebc7:	8d 8d 44 fe ff ff    	lea    -0x1bc(%ebp),%ecx
40ebcd:	e8 3e f8 ff ff       	call   0x40e410
40ebd2:	8d 8d 18 fd ff ff    	lea    -0x2e8(%ebp),%ecx
40ebd8:	e8 33 f8 ff ff       	call   0x40e410
40ebdd:	8b 55 b0             	mov    -0x50(%ebp),%edx
40ebe0:	33 c0                	xor    %eax,%eax
40ebe2:	8b 75 b4             	mov    -0x4c(%ebp),%esi
40ebe5:	8b ca                	mov    %edx,%ecx
40ebe7:	8b fe                	mov    %esi,%edi
40ebe9:	f3 ab                	rep stos %eax,%es:(%edi)
40ebeb:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40ebf2:	56                   	push   %esi
40ebf3:	83 f8 10             	cmp    $0x10,%eax
40ebf6:	72 07                	jb     0x40ebff
40ebf8:	e8 63 73 08 00       	call   0x495f60
40ebfd:	eb 05                	jmp    0x40ec04
40ebff:	e8 7e aa 06 00       	call   0x479682
40ec04:	8b 55 d8             	mov    -0x28(%ebp),%edx
40ec07:	33 c0                	xor    %eax,%eax
40ec09:	8b 75 dc             	mov    -0x24(%ebp),%esi
40ec0c:	83 c4 04             	add    $0x4,%esp
40ec0f:	8b fe                	mov    %esi,%edi
40ec11:	8b ca                	mov    %edx,%ecx
40ec13:	f3 ab                	rep stos %eax,%es:(%edi)
40ec15:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40ec1c:	56                   	push   %esi
40ec1d:	83 f8 10             	cmp    $0x10,%eax
40ec20:	72 07                	jb     0x40ec29
40ec22:	e8 39 73 08 00       	call   0x495f60
40ec27:	eb 05                	jmp    0x40ec2e
40ec29:	e8 54 aa 06 00       	call   0x479682
40ec2e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40ec31:	33 c0                	xor    %eax,%eax
40ec33:	8b 75 c8             	mov    -0x38(%ebp),%esi
40ec36:	83 c4 04             	add    $0x4,%esp
40ec39:	8b fe                	mov    %esi,%edi
40ec3b:	8b ca                	mov    %edx,%ecx
40ec3d:	f3 ab                	rep stos %eax,%es:(%edi)
40ec3f:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40ec46:	56                   	push   %esi
40ec47:	83 f8 10             	cmp    $0x10,%eax
40ec4a:	72 12                	jb     0x40ec5e
40ec4c:	e8 0f 73 08 00       	call   0x495f60
40ec51:	83 c4 04             	add    $0x4,%esp
40ec54:	b8 07 00 00 00       	mov    $0x7,%eax
40ec59:	e9 c3 03 00 00       	jmp    0x40f021
40ec5e:	e8 1f aa 06 00       	call   0x479682
40ec63:	83 c4 04             	add    $0x4,%esp
40ec66:	b8 07 00 00 00       	mov    $0x7,%eax
40ec6b:	e9 b1 03 00 00       	jmp    0x40f021
40ec70:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
40ec76:	0f 57 c0             	xorps  %xmm0,%xmm0
40ec79:	66 0f d6 45 90       	movq   %xmm0,-0x70(%ebp)
40ec7e:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
40ec85:	8b 70 04             	mov    0x4(%eax),%esi
40ec88:	81 fe 80 fa 40 00    	cmp    $0x40fa80,%esi
40ec8e:	75 0d                	jne    0x40ec9d
40ec90:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ec96:	e8 e5 0d 00 00       	call   0x40fa80
40ec9b:	eb 10                	jmp    0x40ecad
40ec9d:	8b ce                	mov    %esi,%ecx
40ec9f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40eca5:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ecab:	ff d6                	call   *%esi
40ecad:	89 85 0c fd ff ff    	mov    %eax,-0x2f4(%ebp)
40ecb3:	89 45 94             	mov    %eax,-0x6c(%ebp)
40ecb6:	85 c0                	test   %eax,%eax
40ecb8:	74 07                	je     0x40ecc1
40ecba:	8b c8                	mov    %eax,%ecx
40ecbc:	e8 9f d3 04 00       	call   0x45c060
40ecc1:	89 85 14 fd ff ff    	mov    %eax,-0x2ec(%ebp)
40ecc7:	89 45 98             	mov    %eax,-0x68(%ebp)
40ecca:	6a 60                	push   $0x60
40eccc:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40ecd2:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40ecd6:	6a 00                	push   $0x0
40ecd8:	50                   	push   %eax
40ecd9:	e8 d2 ce 05 00       	call   0x46bbb0
40ecde:	83 c4 0c             	add    $0xc,%esp
40ece1:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
40ece7:	e8 64 f1 04 00       	call   0x45de50
40ecec:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40ecf0:	b9 20 00 00 00       	mov    $0x20,%ecx
40ecf5:	c7 85 30 ff ff ff 28 	movl   $0x4b1d28,-0xd0(%ebp)
40ecfc:	1d 4b 00
40ecff:	c7 85 f8 fc ff ff 20 	movl   $0x20,-0x308(%ebp)
40ed06:	00 00 00
40ed09:	e8 52 d3 04 00       	call   0x45c060
40ed0e:	8b f8                	mov    %eax,%edi
40ed10:	89 bd 10 fd ff ff    	mov    %edi,-0x2f0(%ebp)
40ed16:	89 bd fc fc ff ff    	mov    %edi,-0x304(%ebp)
40ed1c:	51                   	push   %ecx
40ed1d:	8b d7                	mov    %edi,%edx
40ed1f:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
40ed23:	e8 b8 c9 04 00       	call   0x45b6e0
40ed28:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
40ed2e:	83 c4 04             	add    $0x4,%esp
40ed31:	8b 70 0c             	mov    0xc(%eax),%esi
40ed34:	8b ce                	mov    %esi,%ecx
40ed36:	6a 20                	push   $0x20
40ed38:	57                   	push   %edi
40ed39:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ed3f:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
40ed45:	ff d6                	call   *%esi
40ed47:	ff b5 10 fd ff ff    	push   -0x2f0(%ebp)
40ed4d:	32 c0                	xor    %al,%al
40ed4f:	b9 20 00 00 00       	mov    $0x20,%ecx
40ed54:	f3 aa                	rep stos %al,%es:(%edi)
40ed56:	e8 27 a9 06 00       	call   0x479682
40ed5b:	83 c4 04             	add    $0x4,%esp
40ed5e:	8b 85 04 fd ff ff    	mov    -0x2fc(%ebp),%eax
40ed64:	8d 78 1c             	lea    0x1c(%eax),%edi
40ed67:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40ed6b:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
40ed6f:	72 02                	jb     0x40ed73
40ed71:	8b 3f                	mov    (%edi),%edi
40ed73:	8b 48 2c             	mov    0x2c(%eax),%ecx
40ed76:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
40ed7c:	89 8d 10 fd ff ff    	mov    %ecx,-0x2f0(%ebp)
40ed82:	8b 70 24             	mov    0x24(%eax),%esi
40ed85:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40ed8b:	50                   	push   %eax
40ed8c:	81 fe c0 f4 40 00    	cmp    $0x40f4c0,%esi
40ed92:	75 0d                	jne    0x40eda1
40ed94:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ed9a:	e8 21 07 00 00       	call   0x40f4c0
40ed9f:	eb 10                	jmp    0x40edb1
40eda1:	8b ce                	mov    %esi,%ecx
40eda3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40eda9:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40edaf:	ff d6                	call   *%esi
40edb1:	8b f0                	mov    %eax,%esi
40edb3:	89 b5 00 fd ff ff    	mov    %esi,-0x300(%ebp)
40edb9:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
40edbd:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
40edc3:	ff b5 10 fd ff ff    	push   -0x2f0(%ebp)
40edc9:	57                   	push   %edi
40edca:	8b 40 28             	mov    0x28(%eax),%eax
40edcd:	89 85 fc fc ff ff    	mov    %eax,-0x304(%ebp)
40edd3:	56                   	push   %esi
40edd4:	3d 60 c4 43 00       	cmp    $0x43c460,%eax
40edd9:	75 0d                	jne    0x40ede8
40eddb:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ede1:	e8 7a d6 02 00       	call   0x43c460
40ede6:	eb 14                	jmp    0x40edfc
40ede8:	8b c8                	mov    %eax,%ecx
40edea:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40edf0:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40edf6:	ff 95 fc fc ff ff    	call   *-0x304(%ebp)
40edfc:	8b 06                	mov    (%esi),%eax
40edfe:	6a 00                	push   $0x0
40ee00:	6a 00                	push   $0x0
40ee02:	8b 78 0c             	mov    0xc(%eax),%edi
40ee05:	8b cf                	mov    %edi,%ecx
40ee07:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ee0d:	8b ce                	mov    %esi,%ecx
40ee0f:	ff d7                	call   *%edi
40ee11:	8b 85 38 fe ff ff    	mov    -0x1c8(%ebp),%eax
40ee17:	6a 00                	push   $0x0
40ee19:	ff b5 14 fd ff ff    	push   -0x2ec(%ebp)
40ee1f:	8b 78 30             	mov    0x30(%eax),%edi
40ee22:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
40ee28:	56                   	push   %esi
40ee29:	50                   	push   %eax
40ee2a:	81 ff 90 c7 43 00    	cmp    $0x43c790,%edi
40ee30:	75 0d                	jne    0x40ee3f
40ee32:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ee38:	e8 53 d9 02 00       	call   0x43c790
40ee3d:	eb 10                	jmp    0x40ee4f
40ee3f:	8b cf                	mov    %edi,%ecx
40ee41:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ee47:	8d 8d 38 fe ff ff    	lea    -0x1c8(%ebp),%ecx
40ee4d:	ff d7                	call   *%edi
40ee4f:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40ee53:	89 85 10 fd ff ff    	mov    %eax,-0x2f0(%ebp)
40ee59:	8b 06                	mov    (%esi),%eax
40ee5b:	6a 01                	push   $0x1
40ee5d:	8b 38                	mov    (%eax),%edi
40ee5f:	8b cf                	mov    %edi,%ecx
40ee61:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ee67:	8b ce                	mov    %esi,%ecx
40ee69:	ff d7                	call   *%edi
40ee6b:	6a 48                	push   $0x48
40ee6d:	e8 66 ab 05 00       	call   0x4699d8
40ee72:	8b f0                	mov    %eax,%esi
40ee74:	83 c4 04             	add    $0x4,%esp
40ee77:	89 b5 fc fc ff ff    	mov    %esi,-0x304(%ebp)
40ee7d:	6a 48                	push   $0x48
40ee7f:	6a 00                	push   $0x0
40ee81:	56                   	push   %esi
40ee82:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
40ee86:	e8 25 cd 05 00       	call   0x46bbb0
40ee8b:	83 c4 0c             	add    $0xc,%esp
40ee8e:	6a 10                	push   $0x10
40ee90:	e8 43 ab 05 00       	call   0x4699d8
40ee95:	8b 8d 04 fd ff ff    	mov    -0x2fc(%ebp),%ecx
40ee9b:	83 c4 04             	add    $0x4,%esp
40ee9e:	83 ec 08             	sub    $0x8,%esp
40eea1:	83 c1 58             	add    $0x58,%ecx
40eea4:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
40eeab:	89 48 0c             	mov    %ecx,0xc(%eax)
40eeae:	8b ce                	mov    %esi,%ecx
40eeb0:	50                   	push   %eax
40eeb1:	c7 00 c0 19 4b 00    	movl   $0x4b19c0,(%eax)
40eeb7:	c7 40 04 44 11 4b 00 	movl   $0x4b1144,0x4(%eax)
40eebe:	e8 0d f1 ff ff       	call   0x40dfd0
40eec3:	50                   	push   %eax
40eec4:	51                   	push   %ecx
40eec5:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
40eec9:	8d 8d 00 fe ff ff    	lea    -0x200(%ebp),%ecx
40eecf:	ff b5 10 fd ff ff    	push   -0x2f0(%ebp)
40eed5:	ff b5 14 fd ff ff    	push   -0x2ec(%ebp)
40eedb:	e8 f0 e6 ff ff       	call   0x40d5d0
40eee0:	8b bd 0c fe ff ff    	mov    -0x1f4(%ebp),%edi
40eee6:	85 ff                	test   %edi,%edi
40eee8:	74 12                	je     0x40eefc
40eeea:	8b 07                	mov    (%edi),%eax
40eeec:	6a 01                	push   $0x1
40eeee:	8b 30                	mov    (%eax),%esi
40eef0:	8b ce                	mov    %esi,%ecx
40eef2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40eef8:	8b cf                	mov    %edi,%ecx
40eefa:	ff d6                	call   *%esi
40eefc:	8b 7d 88             	mov    -0x78(%ebp),%edi
40eeff:	85 ff                	test   %edi,%edi
40ef01:	74 12                	je     0x40ef15
40ef03:	8b 07                	mov    (%edi),%eax
40ef05:	6a 01                	push   $0x1
40ef07:	8b 30                	mov    (%eax),%esi
40ef09:	8b ce                	mov    %esi,%ecx
40ef0b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40ef11:	8b cf                	mov    %edi,%ecx
40ef13:	ff d6                	call   *%esi
40ef15:	8b 7d 84             	mov    -0x7c(%ebp),%edi
40ef18:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
40ef1e:	3b f8                	cmp    %eax,%edi
40ef20:	75 0e                	jne    0x40ef30
40ef22:	8b 4d 80             	mov    -0x80(%ebp),%ecx
40ef25:	32 c0                	xor    %al,%al
40ef27:	c6 85 79 ff ff ff 00 	movb   $0x0,-0x87(%ebp)
40ef2e:	f3 aa                	rep stos %al,%es:(%edi)
40ef30:	8b bd 64 ff ff ff    	mov    -0x9c(%ebp),%edi
40ef36:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
40ef3c:	3b f8                	cmp    %eax,%edi
40ef3e:	75 11                	jne    0x40ef51
40ef40:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
40ef46:	32 c0                	xor    %al,%al
40ef48:	c6 85 59 ff ff ff 00 	movb   $0x0,-0xa7(%ebp)
40ef4f:	f3 aa                	rep stos %al,%es:(%edi)
40ef51:	8b 95 14 fd ff ff    	mov    -0x2ec(%ebp),%edx
40ef57:	32 c0                	xor    %al,%al
40ef59:	8b 8d 0c fd ff ff    	mov    -0x2f4(%ebp),%ecx
40ef5f:	8b fa                	mov    %edx,%edi
40ef61:	f3 aa                	rep stos %al,%es:(%edi)
40ef63:	52                   	push   %edx
40ef64:	e8 19 a7 06 00       	call   0x479682
40ef69:	83 c4 04             	add    $0x4,%esp
40ef6c:	8d 8d 44 fe ff ff    	lea    -0x1bc(%ebp),%ecx
40ef72:	e8 99 f4 ff ff       	call   0x40e410
40ef77:	8d 8d 18 fd ff ff    	lea    -0x2e8(%ebp),%ecx
40ef7d:	e8 8e f4 ff ff       	call   0x40e410
40ef82:	8b 55 b0             	mov    -0x50(%ebp),%edx
40ef85:	33 c0                	xor    %eax,%eax
40ef87:	8b 75 b4             	mov    -0x4c(%ebp),%esi
40ef8a:	8b ca                	mov    %edx,%ecx
40ef8c:	8b fe                	mov    %esi,%edi
40ef8e:	f3 ab                	rep stos %eax,%es:(%edi)
40ef90:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40ef97:	56                   	push   %esi
40ef98:	83 f8 10             	cmp    $0x10,%eax
40ef9b:	72 07                	jb     0x40efa4
40ef9d:	e8 be 6f 08 00       	call   0x495f60
40efa2:	eb 05                	jmp    0x40efa9
40efa4:	e8 d9 a6 06 00       	call   0x479682
40efa9:	8b 55 d8             	mov    -0x28(%ebp),%edx
40efac:	33 c0                	xor    %eax,%eax
40efae:	8b 75 dc             	mov    -0x24(%ebp),%esi
40efb1:	83 c4 04             	add    $0x4,%esp
40efb4:	8b fe                	mov    %esi,%edi
40efb6:	8b ca                	mov    %edx,%ecx
40efb8:	f3 ab                	rep stos %eax,%es:(%edi)
40efba:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40efc1:	56                   	push   %esi
40efc2:	83 f8 10             	cmp    $0x10,%eax
40efc5:	72 07                	jb     0x40efce
40efc7:	e8 94 6f 08 00       	call   0x495f60
40efcc:	eb 05                	jmp    0x40efd3
40efce:	e8 af a6 06 00       	call   0x479682
40efd3:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40efd6:	33 c0                	xor    %eax,%eax
40efd8:	8b 75 c8             	mov    -0x38(%ebp),%esi
40efdb:	83 c4 04             	add    $0x4,%esp
40efde:	8b fe                	mov    %esi,%edi
40efe0:	8b ca                	mov    %edx,%ecx
40efe2:	f3 ab                	rep stos %eax,%es:(%edi)
40efe4:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
40efeb:	56                   	push   %esi
40efec:	83 f8 10             	cmp    $0x10,%eax
40efef:	72 0c                	jb     0x40effd
40eff1:	e8 6a 6f 08 00       	call   0x495f60
40eff6:	83 c4 04             	add    $0x4,%esp
40eff9:	33 c0                	xor    %eax,%eax
40effb:	eb 24                	jmp    0x40f021
40effd:	e8 80 a6 06 00       	call   0x479682
40f002:	83 c4 04             	add    $0x4,%esp
40f005:	33 c0                	xor    %eax,%eax
40f007:	eb 18                	jmp    0x40f021
40f009:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40f00c:	b8 12 f0 40 00       	mov    $0x40f012,%eax
40f011:	c3                   	ret
40f012:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40f015:	b8 01 00 00 00       	mov    $0x1,%eax
40f01a:	eb 05                	jmp    0x40f021
40f01c:	b8 02 00 00 00       	mov    $0x2,%eax
40f021:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f024:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0