40af8d:	74 3f                	je     0x40afce
40af8f:	ff 75 f8             	push   -0x8(%ebp)
40af92:	57                   	push   %edi
40af93:	ff 75 f0             	push   -0x10(%ebp)
40af96:	ff 75 f4             	push   -0xc(%ebp)
40af99:	ff 75 10             	push   0x10(%ebp)
40af9c:	ff 75 0c             	push   0xc(%ebp)
40af9f:	ff d6                	call   *%esi
40afa1:	85 c0                	test   %eax,%eax
40afa3:	74 22                	je     0x40afc7
40afa5:	53                   	push   %ebx
40afa6:	53                   	push   %ebx
40afa7:	39 5d 20             	cmp    %ebx,0x20(%ebp)
40afaa:	75 04                	jne    0x40afb0
40afac:	53                   	push   %ebx
40afad:	53                   	push   %ebx
40afae:	eb 06                	jmp    0x40afb6
40afb0:	ff 75 20             	push   0x20(%ebp)
40afb3:	ff 75 1c             	push   0x1c(%ebp)
40afb6:	ff 75 f8             	push   -0x8(%ebp)
40afb9:	57                   	push   %edi
40afba:	53                   	push   %ebx
40afbb:	ff 75 24             	push   0x24(%ebp)
40afbe:	ff 15 10 f1 40 00    	call   *0x40f110
40afc4:	89 45 f8             	mov    %eax,-0x8(%ebp)
40afc7:	57                   	push   %edi
40afc8:	e8 20 75 ff ff       	call   0x4024ed
40afcd:	59                   	pop    %ecx
40afce:	ff 75 f4             	push   -0xc(%ebp)
40afd1:	e8 17 75 ff ff       	call   0x4024ed
40afd6:	8b 45 f8             	mov    -0x8(%ebp),%eax
40afd9:	59                   	pop    %ecx
40afda:	8d 65 e4             	lea    -0x1c(%ebp),%esp
40afdd:	5f                   	pop    %edi
40afde:	5e                   	pop    %esi
40afdf:	5b                   	pop    %ebx
40afe0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40afe3:	33 cd                	xor    %ebp,%ecx
40afe5:	e8 ba 6d ff ff       	call   0x401da4
40afea:	c9                   	leave
40afeb:	c3                   	ret
40afec:	8b ff                	mov    %edi,%edi
40afee:	55                   	push   %ebp
40afef:	8b ec                	mov    %esp,%ebp
40aff1:	83 ec 10             	sub    $0x10,%esp
40aff4:	ff 75 08             	push   0x8(%ebp)
40aff7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40affa:	e8 e6 6f ff ff       	call   0x401fe5
40afff:	ff 75 28             	push   0x28(%ebp)
40b002:	8d 45 f0             	lea    -0x10(%ebp),%eax
40b005:	ff 75 24             	push   0x24(%ebp)
40b008:	ff 75 20             	push   0x20(%ebp)
40b00b:	ff 75 1c             	push   0x1c(%ebp)
40b00e:	ff 75 18             	push   0x18(%ebp)
40b011:	ff 75 14             	push   0x14(%ebp)
40b014:	ff 75 10             	push   0x10(%ebp)
40b017:	ff 75 0c             	push   0xc(%ebp)
40b01a:	50                   	push   %eax
40b01b:	e8 e5 fd ff ff       	call   0x40ae05
40b020:	83 c4 24             	add    $0x24,%esp
40b023:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40b027:	74 07                	je     0x40b030
40b029:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b02c:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
40b030:	c9                   	leave
40b031:	c3                   	ret
40b032:	8b ff                	mov    %edi,%edi
40b034:	55                   	push   %ebp
40b035:	8b ec                	mov    %esp,%ebp
40b037:	51                   	push   %ecx
40b038:	51                   	push   %ecx
40b039:	a1 84 22 41 00       	mov    0x412284,%eax
40b03e:	33 c5                	xor    %ebp,%eax
40b040:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b043:	53                   	push   %ebx
40b044:	33 db                	xor    %ebx,%ebx
40b046:	56                   	push   %esi
40b047:	57                   	push   %edi
40b048:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40b04b:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
40b04e:	75 0b                	jne    0x40b05b
40b050:	8b 45 08             	mov    0x8(%ebp),%eax
40b053:	8b 00                	mov    (%eax),%eax
40b055:	8b 40 04             	mov    0x4(%eax),%eax
40b058:	89 45 1c             	mov    %eax,0x1c(%ebp)
40b05b:	8b 35 30 f0 40 00    	mov    0x40f030,%esi
40b061:	33 c0                	xor    %eax,%eax
40b063:	39 5d 20             	cmp    %ebx,0x20(%ebp)
40b066:	53                   	push   %ebx
40b067:	53                   	push   %ebx
40b068:	ff 75 14             	push   0x14(%ebp)
40b06b:	0f 95 c0             	setne  %al
40b06e:	ff 75 10             	push   0x10(%ebp)
40b071:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
40b078:	50                   	push   %eax
40b079:	ff 75 1c             	push   0x1c(%ebp)
40b07c:	ff d6                	call   *%esi
40b07e:	8b f8                	mov    %eax,%edi
40b080:	3b fb                	cmp    %ebx,%edi
40b082:	75 04                	jne    0x40b088
40b084:	33 c0                	xor    %eax,%eax
40b086:	eb 7f                	jmp    0x40b107
40b088:	7e 3c                	jle    0x40b0c6
40b08a:	81 ff f0 ff ff 7f    	cmp    $0x7ffffff0,%edi
40b090:	77 34                	ja     0x40b0c6
40b092:	8d 44 3f 08          	lea    0x8(%edi,%edi,1),%eax
40b096:	3d 00 04 00 00       	cmp    $0x400,%eax
40b09b:	77 13                	ja     0x40b0b0
40b09d:	e8 5e bf ff ff       	call   0x407000
40b0a2:	8b c4                	mov    %esp,%eax
40b0a4:	3b c3                	cmp    %ebx,%eax
40b0a6:	74 1c                	je     0x40b0c4
40b0a8:	c7 00 cc cc 00 00    	movl   $0xcccc,(%eax)
40b0ae:	eb 11                	jmp    0x40b0c1
40b0b0:	50                   	push   %eax
40b0b1:	e8 39 71 ff ff       	call   0x4021ef
40b0b6:	59                   	pop    %ecx
40b0b7:	3b c3                	cmp    %ebx,%eax
40b0b9:	74 09                	je     0x40b0c4
40b0bb:	c7 00 dd dd 00 00    	movl   $0xdddd,(%eax)
40b0c1:	83 c0 08             	add    $0x8,%eax
40b0c4:	8b d8                	mov    %eax,%ebx
40b0c6:	85 db                	test   %ebx,%ebx
40b0c8:	74 ba                	je     0x40b084
40b0ca:	8d 04 3f             	lea    (%edi,%edi,1),%eax
40b0cd:	50                   	push   %eax
40b0ce:	6a 00                	push   $0x0
40b0d0:	53                   	push   %ebx
40b0d1:	e8 0a c9 ff ff       	call   0x4079e0
40b0d6:	83 c4 0c             	add    $0xc,%esp
40b0d9:	57                   	push   %edi
40b0da:	53                   	push   %ebx
40b0db:	ff 75 14             	push   0x14(%ebp)
40b0de:	ff 75 10             	push   0x10(%ebp)
40b0e1:	6a 01                	push   $0x1
40b0e3:	ff 75 1c             	push   0x1c(%ebp)
40b0e6:	ff d6                	call   *%esi
40b0e8:	85 c0                	test   %eax,%eax
40b0ea:	74 11                	je     0x40b0fd
40b0ec:	ff 75 18             	push   0x18(%ebp)
40b0ef:	50                   	push   %eax
40b0f0:	53                   	push   %ebx
40b0f1:	ff 75 0c             	push   0xc(%ebp)
40b0f4:	ff 15 7c f0 40 00    	call   *0x40f07c
40b0fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b0fd:	53                   	push   %ebx
40b0fe:	e8 ea 73 ff ff       	call   0x4024ed
40b103:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b106:	59                   	pop    %ecx
40b107:	8d 65 ec             	lea    -0x14(%ebp),%esp
40b10a:	5f                   	pop    %edi
40b10b:	5e                   	pop    %esi
40b10c:	5b                   	pop    %ebx
40b10d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b110:	33 cd                	xor    %ebp,%ecx
40b112:	e8 8d 6c ff ff       	call   0x401da4
40b117:	c9                   	leave
40b118:	c3                   	ret
40b119:	8b ff                	mov    %edi,%edi
40b11b:	55                   	push   %ebp
40b11c:	8b ec                	mov    %esp,%ebp
40b11e:	83 ec 10             	sub    $0x10,%esp
40b121:	ff 75 08             	push   0x8(%ebp)
40b124:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40b127:	e8 b9 6e ff ff       	call   0x401fe5
40b12c:	ff 75 24             	push   0x24(%ebp)
40b12f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40b132:	ff 75 1c             	push   0x1c(%ebp)
40b135:	ff 75 18             	push   0x18(%ebp)
40b138:	ff 75 14             	push   0x14(%ebp)
40b13b:	ff 75 10             	push   0x10(%ebp)
40b13e:	ff 75 0c             	push   0xc(%ebp)
40b141:	50                   	push   %eax
40b142:	e8 eb fe ff ff       	call   0x40b032
40b147:	83 c4 1c             	add    $0x1c,%esp
40b14a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40b14e:	74 07                	je     0x40b157
40b150:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40b153:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
40b157:	c9                   	leave
40b158:	c3                   	ret
40b159:	8b ff                	mov    %edi,%edi
40b15b:	55                   	push   %ebp
40b15c:	8b ec                	mov    %esp,%ebp
40b15e:	56                   	push   %esi
40b15f:	8b 75 08             	mov    0x8(%ebp),%esi
40b162:	85 f6                	test   %esi,%esi
40b164:	0f 84 63 03 00 00    	je     0x40b4cd
40b16a:	ff 76 04             	push   0x4(%esi)
40b16d:	e8 f9 6d ff ff       	call   0x401f6b
40b172:	ff 76 08             	push   0x8(%esi)
40b175:	e8 f1 6d ff ff       	call   0x401f6b
40b17a:	ff 76 0c             	push   0xc(%esi)
40b17d:	e8 e9 6d ff ff       	call   0x401f6b
40b182:	ff 76 10             	push   0x10(%esi)
40b185:	e8 e1 6d ff ff       	call   0x401f6b
40b18a:	ff 76 14             	push   0x14(%esi)
40b18d:	e8 d9 6d ff ff       	call   0x401f6b
40b192:	ff 76 18             	push   0x18(%esi)
40b195:	e8 d1 6d ff ff       	call   0x401f6b
40b19a:	ff 36                	push   (%esi)
40b19c:	e8 ca 6d ff ff       	call   0x401f6b
40b1a1:	ff 76 20             	push   0x20(%esi)
40b1a4:	e8 c2 6d ff ff       	call   0x401f6b
40b1a9:	ff 76 24             	push   0x24(%esi)
40b1ac:	e8 ba 6d ff ff       	call   0x401f6b
40b1b1:	ff 76 28             	push   0x28(%esi)
40b1b4:	e8 b2 6d ff ff       	call   0x401f6b
40b1b9:	ff 76 2c             	push   0x2c(%esi)
40b1bc:	e8 aa 6d ff ff       	call   0x401f6b
40b1c1:	ff 76 30             	push   0x30(%esi)
40b1c4:	e8 a2 6d ff ff       	call   0x401f6b
40b1c9:	ff 76 34             	push   0x34(%esi)
40b1cc:	e8 9a 6d ff ff       	call   0x401f6b
40b1d1:	ff 76 1c             	push   0x1c(%esi)
40b1d4:	e8 92 6d ff ff       	call   0x401f6b
40b1d9:	ff 76 38             	push   0x38(%esi)
40b1dc:	e8 8a 6d ff ff       	call   0x401f6b
40b1e1:	ff 76 3c             	push   0x3c(%esi)
40b1e4:	e8 82 6d ff ff       	call   0x401f6b
40b1e9:	83 c4 40             	add    $0x40,%esp
40b1ec:	ff 76 40             	push   0x40(%esi)
40b1ef:	e8 77 6d ff ff       	call   0x401f6b
40b1f4:	ff 76 44             	push   0x44(%esi)
40b1f7:	e8 6f 6d ff ff       	call   0x401f6b
40b1fc:	ff 76 48             	push   0x48(%esi)
40b1ff:	e8 67 6d ff ff       	call   0x401f6b
40b204:	ff 76 4c             	push   0x4c(%esi)
40b207:	e8 5f 6d ff ff       	call   0x401f6b
40b20c:	ff 76 50             	push   0x50(%esi)
40b20f:	e8 57 6d ff ff       	call   0x401f6b
40b214:	ff 76 54             	push   0x54(%esi)
40b217:	e8 4f 6d ff ff       	call   0x401f6b
40b21c:	ff 76 58             	push   0x58(%esi)
40b21f:	e8 47 6d ff ff       	call   0x401f6b
40b224:	ff 76 5c             	push   0x5c(%esi)
40b227:	e8 3f 6d ff ff       	call   0x401f6b
40b22c:	ff 76 60             	push   0x60(%esi)
40b22f:	e8 37 6d ff ff       	call   0x401f6b
40b234:	ff 76 64             	push   0x64(%esi)
40b237:	e8 2f 6d ff ff       	call   0x401f6b
40b23c:	ff 76 68             	push   0x68(%esi)
40b23f:	e8 27 6d ff ff       	call   0x401f6b
40b244:	ff 76 6c             	push   0x6c(%esi)
40b247:	e8 1f 6d ff ff       	call   0x401f6b
40b24c:	ff 76 70             	push   0x70(%esi)
40b24f:	e8 17 6d ff ff       	call   0x401f6b
40b254:	ff 76 74             	push   0x74(%esi)
40b257:	e8 0f 6d ff ff       	call   0x401f6b
40b25c:	ff 76 78             	push   0x78(%esi)
40b25f:	e8 07 6d ff ff       	call   0x401f6b
40b264:	ff 76 7c             	push   0x7c(%esi)
40b267:	e8 ff 6c ff ff       	call   0x401f6b
40b26c:	83 c4 40             	add    $0x40,%esp
40b26f:	ff b6 80 00 00 00    	push   0x80(%esi)
40b275:	e8 f1 6c ff ff       	call   0x401f6b
40b27a:	ff b6 84 00 00 00    	push   0x84(%esi)
40b280:	e8 e6 6c ff ff       	call   0x401f6b
40b285:	ff b6 88 00 00 00    	push   0x88(%esi)
40b28b:	e8 db 6c ff ff       	call   0x401f6b
40b290:	ff b6 8c 00 00 00    	push   0x8c(%esi)
40b296:	e8 d0 6c ff ff       	call   0x401f6b
40b29b:	ff b6 90 00 00 00    	push   0x90(%esi)
40b2a1:	e8 c5 6c ff ff       	call   0x401f6b
40b2a6:	ff b6 94 00 00 00    	push   0x94(%esi)
40b2ac:	e8 ba 6c ff ff       	call   0x401f6b
40b2b1:	ff b6 98 00 00 00    	push   0x98(%esi)
40b2b7:	e8 af 6c ff ff       	call   0x401f6b
40b2bc:	ff b6 9c 00 00 00    	push   0x9c(%esi)
40b2c2:	e8 a4 6c ff ff       	call   0x401f6b
40b2c7:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40b2cd:	e8 99 6c ff ff       	call   0x401f6b
40b2d2:	ff b6 a4 00 00 00    	push   0xa4(%esi)
40b2d8:	e8 8e 6c ff ff       	call   0x401f6b
40b2dd:	ff b6 a8 00 00 00    	push   0xa8(%esi)
40b2e3:	e8 83 6c ff ff       	call   0x401f6b
40b2e8:	ff b6 bc 00 00 00    	push   0xbc(%esi)
40b2ee:	e8 78 6c ff ff       	call   0x401f6b
40b2f3:	ff b6 c0 00 00 00    	push   0xc0(%esi)
40b2f9:	e8 6d 6c ff ff       	call   0x401f6b
40b2fe:	ff b6 c4 00 00 00    	push   0xc4(%esi)
40b304:	e8 62 6c ff ff       	call   0x401f6b
40b309:	ff b6 c8 00 00 00    	push   0xc8(%esi)
40b30f:	e8 57 6c ff ff       	call   0x401f6b
40b314:	ff b6 cc 00 00 00    	push   0xcc(%esi)
40b31a:	e8 4c 6c ff ff       	call   0x401f6b
40b31f:	83 c4 40             	add    $0x40,%esp
40b322:	ff b6 d0 00 00 00    	push   0xd0(%esi)
40b328:	e8 3e 6c ff ff       	call   0x401f6b
40b32d:	ff b6 b8 00 00 00    	push   0xb8(%esi)
40b333:	e8 33 6c ff ff       	call   0x401f6b
40b338:	ff b6 d8 00 00 00    	push   0xd8(%esi)
40b33e:	e8 28 6c ff ff       	call   0x401f6b
40b343:	ff b6 dc 00 00 00    	push   0xdc(%esi)
40b349:	e8 1d 6c ff ff       	call   0x401f6b
40b34e:	ff b6 e0 00 00 00    	push   0xe0(%esi)
40b354:	e8 12 6c ff ff       	call   0x401f6b
40b359:	ff b6 e4 00 00 00    	push   0xe4(%esi)
40b35f:	e8 07 6c ff ff       	call   0x401f6b
40b364:	ff b6 e8 00 00 00    	push   0xe8(%esi)
40b36a:	e8 fc 6b ff ff       	call   0x401f6b
40b36f:	ff b6 ec 00 00 00    	push   0xec(%esi)
40b375:	e8 f1 6b ff ff       	call   0x401f6b
40b37a:	ff b6 d4 00 00 00    	push   0xd4(%esi)
40b380:	e8 e6 6b ff ff       	call   0x401f6b
40b385:	ff b6 f0 00 00 00    	push   0xf0(%esi)
40b38b:	e8 db 6b ff ff       	call   0x401f6b
40b390:	ff b6 f4 00 00 00    	push   0xf4(%esi)
40b396:	e8 d0 6b ff ff       	call   0x401f6b
40b39b:	ff b6 f8 00 00 00    	push   0xf8(%esi)
40b3a1:	e8 c5 6b ff ff       	call   0x401f6b
40b3a6:	ff b6 fc 00 00 00    	push   0xfc(%esi)
40b3ac:	e8 ba 6b ff ff       	call   0x401f6b
40b3b1:	ff b6 00 01 00 00    	push   0x100(%esi)
40b3b7:	e8 af 6b ff ff       	call   0x401f6b
40b3bc:	ff b6 04 01 00 00    	push   0x104(%esi)
40b3c2:	e8 a4 6b ff ff       	call   0x401f6b
40b3c7:	ff b6 08 01 00 00    	push   0x108(%esi)
40b3cd:	e8 99 6b ff ff       	call   0x401f6b
40b3d2:	83 c4 40             	add    $0x40,%esp
40b3d5:	ff b6 0c 01 00 00    	push   0x10c(%esi)
40b3db:	e8 8b 6b ff ff       	call   0x401f6b
40b3e0:	ff b6 10 01 00 00    	push   0x110(%esi)
40b3e6:	e8 80 6b ff ff       	call   0x401f6b
40b3eb:	ff b6 14 01 00 00    	push   0x114(%esi)
40b3f1:	e8 75 6b ff ff       	call   0x401f6b
40b3f6:	ff b6 18 01 00 00    	push   0x118(%esi)
40b3fc:	e8 6a 6b ff ff       	call   0x401f6b
40b401:	ff b6 1c 01 00 00    	push   0x11c(%esi)
40b407:	e8 5f 6b ff ff       	call   0x401f6b
40b40c:	ff b6 20 01 00 00    	push   0x120(%esi)
40b412:	e8 54 6b ff ff       	call   0x401f6b
40b417:	ff b6 24 01 00 00    	push   0x124(%esi)
40b41d:	e8 49 6b ff ff       	call   0x401f6b
40b422:	ff b6 28 01 00 00    	push   0x128(%esi)
40b428:	e8 3e 6b ff ff       	call   0x401f6b
40b42d:	ff b6 2c 01 00 00    	push   0x12c(%esi)
40b433:	e8 33 6b ff ff       	call   0x401f6b
40b438:	ff b6 30 01 00 00    	push   0x130(%esi)
40b43e:	e8 28 6b ff ff       	call   0x401f6b
40b443:	ff b6 34 01 00 00    	push   0x134(%esi)
40b449:	e8 1d 6b ff ff       	call   0x401f6b
40b44e:	ff b6 38 01 00 00    	push   0x138(%esi)
40b454:	e8 12 6b ff ff       	call   0x401f6b
40b459:	ff b6 3c 01 00 00    	push   0x13c(%esi)
40b45f:	e8 07 6b ff ff       	call   0x401f6b
40b464:	ff b6 40 01 00 00    	push   0x140(%esi)
40b46a:	e8 fc 6a ff ff       	call   0x401f6b
40b46f:	ff b6 44 01 00 00    	push   0x144(%esi)
40b475:	e8 f1 6a ff ff       	call   0x401f6b