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
40f02b:	59                   	pop    %ecx
40f02c:	5f                   	pop    %edi
40f02d:	5e                   	pop    %esi
40f02e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40f031:	33 cd                	xor    %ebp,%ecx
40f033:	e8 92 a9 05 00       	call   0x4699ca
40f038:	8b e5                	mov    %ebp,%esp
40f03a:	5d                   	pop    %ebp
40f03b:	8b e3                	mov    %ebx,%esp
40f03d:	5b                   	pop    %ebx
40f03e:	c3                   	ret
40f03f:	cc                   	int3
40f040:	55                   	push   %ebp
40f041:	8b ec                	mov    %esp,%ebp
40f043:	51                   	push   %ecx
40f044:	53                   	push   %ebx
40f045:	56                   	push   %esi
40f046:	57                   	push   %edi
40f047:	8b 7d 08             	mov    0x8(%ebp),%edi
40f04a:	8b da                	mov    %edx,%ebx
40f04c:	8b f1                	mov    %ecx,%esi
40f04e:	33 c0                	xor    %eax,%eax
40f050:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40f054:	8b d3                	mov    %ebx,%edx
40f056:	72 02                	jb     0x40f05a
40f058:	8b 13                	mov    (%ebx),%edx
40f05a:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40f05e:	8b ce                	mov    %esi,%ecx
40f060:	72 02                	jb     0x40f064
40f062:	8b 0e                	mov    (%esi),%ecx
40f064:	ff 73 10             	push   0x10(%ebx)
40f067:	52                   	push   %edx
40f068:	8b 56 10             	mov    0x10(%esi),%edx
40f06b:	50                   	push   %eax
40f06c:	e8 4f b6 ff ff       	call   0x40a6c0
40f071:	83 c4 0c             	add    $0xc,%esp
40f074:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f077:	83 f8 ff             	cmp    $0xffffffff,%eax
40f07a:	74 21                	je     0x40f09d
40f07c:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40f080:	8b cf                	mov    %edi,%ecx
40f082:	72 02                	jb     0x40f086
40f084:	8b 0f                	mov    (%edi),%ecx
40f086:	ff 77 10             	push   0x10(%edi)
40f089:	51                   	push   %ecx
40f08a:	ff 73 10             	push   0x10(%ebx)
40f08d:	8b ce                	mov    %esi,%ecx
40f08f:	50                   	push   %eax
40f090:	e8 db 21 00 00       	call   0x411270
40f095:	8b 45 fc             	mov    -0x4(%ebp),%eax
40f098:	03 47 10             	add    0x10(%edi),%eax
40f09b:	eb b3                	jmp    0x40f050
40f09d:	5f                   	pop    %edi
40f09e:	5e                   	pop    %esi
40f09f:	5b                   	pop    %ebx
40f0a0:	8b e5                	mov    %ebp,%esp
40f0a2:	5d                   	pop    %ebp
40f0a3:	c3                   	ret
40f0a4:	cc                   	int3
40f0a5:	cc                   	int3
40f0a6:	cc                   	int3
40f0a7:	cc                   	int3
40f0a8:	cc                   	int3
40f0a9:	cc                   	int3
40f0aa:	cc                   	int3
40f0ab:	cc                   	int3
40f0ac:	cc                   	int3
40f0ad:	cc                   	int3
40f0ae:	cc                   	int3
40f0af:	cc                   	int3
40f0b0:	55                   	push   %ebp
40f0b1:	8b ec                	mov    %esp,%ebp
40f0b3:	6a ff                	push   $0xffffffff
40f0b5:	68 ad 85 49 00       	push   $0x4985ad
40f0ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f0c0:	50                   	push   %eax
40f0c1:	83 ec 50             	sub    $0x50,%esp
40f0c4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40f0c9:	33 c5                	xor    %ebp,%eax
40f0cb:	89 45 f0             	mov    %eax,-0x10(%ebp)
40f0ce:	53                   	push   %ebx
40f0cf:	56                   	push   %esi
40f0d0:	57                   	push   %edi
40f0d1:	50                   	push   %eax
40f0d2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40f0d5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f0db:	51                   	push   %ecx
40f0dc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40f0df:	e8 8c 44 ff ff       	call   0x403570
40f0e4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
40f0e8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40f0eb:	8b 55 d8             	mov    -0x28(%ebp),%edx
40f0ee:	8d 7d d8             	lea    -0x28(%ebp),%edi
40f0f1:	8b 45 e8             	mov    -0x18(%ebp),%eax
40f0f4:	8d 5d d8             	lea    -0x28(%ebp),%ebx
40f0f7:	0f 43 ca             	cmovae %edx,%ecx
40f0fa:	0f 43 fa             	cmovae %edx,%edi
40f0fd:	0f 43 da             	cmovae %edx,%ebx
40f100:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40f103:	8b f0                	mov    %eax,%esi
40f105:	3b fe                	cmp    %esi,%edi
40f107:	74 1e                	je     0x40f127
40f109:	2b df                	sub    %edi,%ebx
40f10b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
40f110:	0f b7 07             	movzwl (%edi),%eax
40f113:	50                   	push   %eax
40f114:	e8 78 ab 06 00       	call   0x479c91
40f119:	66 89 04 3b          	mov    %ax,(%ebx,%edi,1)
40f11d:	83 c4 04             	add    $0x4,%esp
40f120:	83 c7 02             	add    $0x2,%edi
40f123:	3b fe                	cmp    %esi,%edi
40f125:	75 e9                	jne    0x40f110
40f127:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40f12e:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40f131:	6a 00                	push   $0x0
40f133:	68 60 ea 4a 00       	push   $0x4aea60
40f138:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
40f13f:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
40f146:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40f14d:	e8 0e 2f ff ff       	call   0x402060
40f152:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40f156:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40f159:	6a 01                	push   $0x1
40f15b:	68 28 18 4b 00       	push   $0x4b1828
40f160:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40f167:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40f16e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40f175:	e8 e6 2e ff ff       	call   0x402060
40f17a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40f17d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40f181:	50                   	push   %eax
40f182:	8d 55 bc             	lea    -0x44(%ebp),%edx
40f185:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40f188:	e8 b3 fe ff ff       	call   0x40f040
40f18d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40f191:	83 c4 04             	add    $0x4,%esp
40f194:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40f197:	83 f9 08             	cmp    $0x8,%ecx
40f19a:	72 32                	jb     0x40f1ce
40f19c:	8b 55 bc             	mov    -0x44(%ebp),%edx
40f19f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f1a6:	8b c2                	mov    %edx,%eax
40f1a8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f1ae:	72 14                	jb     0x40f1c4
40f1b0:	8b 50 fc             	mov    -0x4(%eax),%edx
40f1b3:	83 c1 23             	add    $0x23,%ecx
40f1b6:	2b c2                	sub    %edx,%eax
40f1b8:	83 c0 fc             	add    $0xfffffffc,%eax
40f1bb:	83 f8 1f             	cmp    $0x1f,%eax
40f1be:	0f 87 de 01 00 00    	ja     0x40f3a2
40f1c4:	51                   	push   %ecx
40f1c5:	52                   	push   %edx
40f1c6:	e8 3d a8 05 00       	call   0x469a08
40f1cb:	83 c4 08             	add    $0x8,%esp
40f1ce:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
40f1d2:	8b 4d b8             	mov    -0x48(%ebp),%ecx
40f1d5:	83 f9 08             	cmp    $0x8,%ecx
40f1d8:	72 32                	jb     0x40f20c
40f1da:	8b 55 a4             	mov    -0x5c(%ebp),%edx
40f1dd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40f1e4:	8b c2                	mov    %edx,%eax
40f1e6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40f1ec:	72 14                	jb     0x40f202
40f1ee:	8b 50 fc             	mov    -0x4(%eax),%edx
40f1f1:	83 c1 23             	add    $0x23,%ecx
40f1f4:	2b c2                	sub    %edx,%eax
40f1f6:	83 c0 fc             	add    $0xfffffffc,%eax
40f1f9:	83 f8 1f             	cmp    $0x1f,%eax
40f1fc:	0f 87 a0 01 00 00    	ja     0x40f3a2
40f202:	51                   	push   %ecx
40f203:	52                   	push   %edx
40f204:	e8 ff a7 05 00       	call   0x469a08
40f209:	83 c4 08             	add    $0x8,%esp
40f20c:	6a 00                	push   $0x0
40f20e:	68 60 ea 4a 00       	push   $0x4aea60