40f07c:	ff 15 a4 61 41 00    	call   *0x4161a4
40f082:	8b f0                	mov    %eax,%esi
40f084:	85 f6                	test   %esi,%esi
40f086:	0f 84 b0 04 00 00    	je     0x40f53c
40f08c:	68 cc 3c 40 00       	push   $0x403ccc
40f091:	ff 15 a4 61 41 00    	call   *0x4161a4
40f097:	8b f8                	mov    %eax,%edi
40f099:	85 ff                	test   %edi,%edi
40f09b:	0f 84 9b 04 00 00    	je     0x40f53c
40f0a1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40f0a4:	53                   	push   %ebx
40f0a5:	68 7b 01 00 00       	push   $0x17b
40f0aa:	68 60 3f 40 00       	push   $0x403f60
40f0af:	51                   	push   %ecx
40f0b0:	e8 d1 1d 00 00       	call   0x410e86
40f0b5:	83 eb 05             	sub    $0x5,%ebx
40f0b8:	0f 84 c5 02 00 00    	je     0x40f383
40f0be:	83 eb 01             	sub    $0x1,%ebx
40f0c1:	0f 84 af 02 00 00    	je     0x40f376
40f0c7:	83 eb 01             	sub    $0x1,%ebx
40f0ca:	74 29                	je     0x40f0f5
40f0cc:	83 eb 01             	sub    $0x1,%ebx
40f0cf:	0f 85 23 04 00 00    	jne    0x40f4f8
40f0d5:	53                   	push   %ebx
40f0d6:	68 bc 3f 40 00       	push   $0x403fbc
40f0db:	68 87 02 00 00       	push   $0x287
40f0e0:	68 60 3f 40 00       	push   $0x403f60
40f0e5:	51                   	push   %ecx
40f0e6:	e8 e7 1e 00 00       	call   0x410fd2
40f0eb:	bb 05 40 00 80       	mov    $0x80004005,%ebx
40f0f0:	e9 09 04 00 00       	jmp    0x40f4fe
40f0f5:	68 60 3f 40 00       	push   $0x403f60
40f0fa:	68 fe 01 00 00       	push   $0x1fe
40f0ff:	68 f8 2a 40 00       	push   $0x402af8
40f104:	e8 14 1e 00 00       	call   0x410f1d
40f109:	8b 45 1c             	mov    0x1c(%ebp),%eax
40f10c:	8b 00                	mov    (%eax),%eax
40f10e:	8b 40 08             	mov    0x8(%eax),%eax
40f111:	85 c0                	test   %eax,%eax
40f113:	75 06                	jne    0x40f11b
40f115:	21 44 24 14          	and    %eax,0x14(%esp)
40f119:	eb 0c                	jmp    0x40f127
40f11b:	50                   	push   %eax
40f11c:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40f120:	e8 12 c9 ff ff       	call   0x40ba37
40f125:	8b 00                	mov    (%eax),%eax
40f127:	50                   	push   %eax
40f128:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40f12c:	e8 50 fb ff ff       	call   0x40ec81
40f131:	ff 74 24 14          	push   0x14(%esp)
40f135:	8b d8                	mov    %eax,%ebx
40f137:	ff 15 b8 61 41 00    	call   *0x4161b8
40f13d:	85 db                	test   %ebx,%ebx
40f13f:	79 10                	jns    0x40f151
40f141:	53                   	push   %ebx
40f142:	68 bc 3f 40 00       	push   $0x403fbc
40f147:	68 03 02 00 00       	push   $0x203
40f14c:	e9 2d 03 00 00       	jmp    0x40f47e
40f151:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f154:	8b 49 04             	mov    0x4(%ecx),%ecx
40f157:	85 c9                	test   %ecx,%ecx
40f159:	75 22                	jne    0x40f17d
40f15b:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40f160:	50                   	push   %eax
40f161:	68 bc 3f 40 00       	push   $0x403fbc
40f166:	68 0e 02 00 00       	push   $0x20e
40f16b:	68 60 3f 40 00       	push   $0x403f60
40f170:	51                   	push   %ecx
40f171:	8b d8                	mov    %eax,%ebx
40f173:	e8 5a 1e 00 00       	call   0x410fd2
40f178:	e9 81 03 00 00       	jmp    0x40f4fe
40f17d:	8b 01                	mov    (%ecx),%eax
40f17f:	8d 54 24 10          	lea    0x10(%esp),%edx
40f183:	52                   	push   %edx
40f184:	51                   	push   %ecx
40f185:	8b 58 14             	mov    0x14(%eax),%ebx
40f188:	8b cb                	mov    %ebx,%ecx
40f18a:	ff 15 28 63 41 00    	call   *0x416328
40f190:	ff d3                	call   *%ebx
40f192:	8b d8                	mov    %eax,%ebx
40f194:	85 db                	test   %ebx,%ebx
40f196:	79 10                	jns    0x40f1a8
40f198:	53                   	push   %ebx
40f199:	68 bc 3f 40 00       	push   $0x403fbc
40f19e:	68 13 02 00 00       	push   $0x213
40f1a3:	e9 d6 02 00 00       	jmp    0x40f47e
40f1a8:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
40f1ad:	0f 84 55 01 00 00    	je     0x40f308
40f1b3:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f1b6:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40f1ba:	e8 22 a7 ff ff       	call   0x4098e1
40f1bf:	50                   	push   %eax
40f1c0:	8d 4b 24             	lea    0x24(%ebx),%ecx
40f1c3:	e8 d8 a6 ff ff       	call   0x4098a0
40f1c8:	6a 08                	push   $0x8
40f1ca:	6a 08                	push   $0x8
40f1cc:	ff 15 e0 60 41 00    	call   *0x4160e0
40f1d2:	50                   	push   %eax
40f1d3:	ff 15 dc 60 41 00    	call   *0x4160dc
40f1d9:	89 44 24 14          	mov    %eax,0x14(%esp)
40f1dd:	85 c0                	test   %eax,%eax
40f1df:	75 15                	jne    0x40f1f6
40f1e1:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40f1e6:	50                   	push   %eax
40f1e7:	68 bc 3f 40 00       	push   $0x403fbc
40f1ec:	68 25 02 00 00       	push   $0x225
40f1f1:	e9 75 ff ff ff       	jmp    0x40f16b
40f1f6:	8d 4b 24             	lea    0x24(%ebx),%ecx
40f1f9:	e8 e3 a6 ff ff       	call   0x4098e1
40f1fe:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40f202:	89 01                	mov    %eax,(%ecx)
40f204:	85 c0                	test   %eax,%eax
40f206:	75 15                	jne    0x40f21d
40f208:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40f20d:	50                   	push   %eax
40f20e:	68 bc 3f 40 00       	push   $0x403fbc
40f213:	68 2b 02 00 00       	push   $0x22b
40f218:	e9 4e ff ff ff       	jmp    0x40f16b
40f21d:	8b 53 04             	mov    0x4(%ebx),%edx
40f220:	85 d2                	test   %edx,%edx
40f222:	75 15                	jne    0x40f239
40f224:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40f229:	50                   	push   %eax
40f22a:	68 bc 3f 40 00       	push   $0x403fbc
40f22f:	68 32 02 00 00       	push   $0x232
40f234:	e9 32 ff ff ff       	jmp    0x40f16b
40f239:	8b 02                	mov    (%edx),%eax
40f23b:	83 c1 04             	add    $0x4,%ecx
40f23e:	51                   	push   %ecx
40f23f:	52                   	push   %edx
40f240:	8b 58 10             	mov    0x10(%eax),%ebx
40f243:	8b cb                	mov    %ebx,%ecx
40f245:	ff 15 28 63 41 00    	call   *0x416328
40f24b:	ff d3                	call   *%ebx
40f24d:	8b d8                	mov    %eax,%ebx
40f24f:	85 db                	test   %ebx,%ebx
40f251:	79 10                	jns    0x40f263
40f253:	53                   	push   %ebx
40f254:	68 bc 3f 40 00       	push   $0x403fbc
40f259:	68 36 02 00 00       	push   $0x236
40f25e:	e9 1b 02 00 00       	jmp    0x40f47e
40f263:	8b 5c 24 14          	mov    0x14(%esp),%ebx
40f267:	33 c0                	xor    %eax,%eax
40f269:	50                   	push   %eax
40f26a:	50                   	push   %eax
40f26b:	53                   	push   %ebx
40f26c:	68 20 f8 40 00       	push   $0x40f820
40f271:	50                   	push   %eax
40f272:	50                   	push   %eax
40f273:	ff 15 f0 60 41 00    	call   *0x4160f0
40f279:	85 c0                	test   %eax,%eax
40f27b:	75 57                	jne    0x40f2d4
40f27d:	39 03                	cmp    %eax,(%ebx)
40f27f:	74 0b                	je     0x40f28c
40f281:	ff 33                	push   (%ebx)
40f283:	ff 15 b8 61 41 00    	call   *0x4161b8
40f289:	83 23 00             	andl   $0x0,(%ebx)
40f28c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
40f290:	74 0d                	je     0x40f29f
40f292:	ff 73 04             	push   0x4(%ebx)
40f295:	ff 15 b8 61 41 00    	call   *0x4161b8
40f29b:	83 63 04 00          	andl   $0x0,0x4(%ebx)
40f29f:	53                   	push   %ebx
40f2a0:	6a 00                	push   $0x0
40f2a2:	ff 15 e0 60 41 00    	call   *0x4160e0
40f2a8:	50                   	push   %eax
40f2a9:	ff 15 e4 60 41 00    	call   *0x4160e4
40f2af:	ff 15 68 61 41 00    	call   *0x416168
40f2b5:	8b d8                	mov    %eax,%ebx
40f2b7:	85 db                	test   %ebx,%ebx
40f2b9:	7e 09                	jle    0x40f2c4
40f2bb:	0f b7 db             	movzwl %bx,%ebx
40f2be:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
40f2c4:	53                   	push   %ebx
40f2c5:	68 bc 3f 40 00       	push   $0x403fbc
40f2ca:	68 4d 02 00 00       	push   $0x24d
40f2cf:	e9 aa 01 00 00       	jmp    0x40f47e
40f2d4:	50                   	push   %eax
40f2d5:	ff 15 b4 60 41 00    	call   *0x4160b4
40f2db:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f2de:	56                   	push   %esi
40f2df:	8b 41 04             	mov    0x4(%ecx),%eax
40f2e2:	50                   	push   %eax
40f2e3:	8b 08                	mov    (%eax),%ecx
40f2e5:	8b 59 1c             	mov    0x1c(%ecx),%ebx
40f2e8:	8b cb                	mov    %ebx,%ecx
40f2ea:	ff 15 28 63 41 00    	call   *0x416328
40f2f0:	ff d3                	call   *%ebx
40f2f2:	8b d8                	mov    %eax,%ebx
40f2f4:	85 db                	test   %ebx,%ebx
40f2f6:	79 6f                	jns    0x40f367
40f2f8:	53                   	push   %ebx
40f2f9:	68 bc 3f 40 00       	push   $0x403fbc
40f2fe:	68 64 02 00 00       	push   $0x264
40f303:	e9 76 01 00 00       	jmp    0x40f47e
40f308:	6a 00                	push   $0x0
40f30a:	68 00 04 00 00       	push   $0x400
40f30f:	56                   	push   %esi
40f310:	ff 74 24 18          	push   0x18(%esp)
40f314:	ff 15 88 61 41 00    	call   *0x416188
40f31a:	83 f8 01             	cmp    $0x1,%eax
40f31d:	75 48                	jne    0x40f367
40f31f:	8b 45 08             	mov    0x8(%ebp),%eax
40f322:	8b 48 04             	mov    0x4(%eax),%ecx
40f325:	85 c9                	test   %ecx,%ecx
40f327:	75 15                	jne    0x40f33e
40f329:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40f32e:	50                   	push   %eax
40f32f:	68 bc 3f 40 00       	push   $0x403fbc
40f334:	68 76 02 00 00       	push   $0x276
40f339:	e9 2d fe ff ff       	jmp    0x40f16b
40f33e:	8b 01                	mov    (%ecx),%eax
40f340:	57                   	push   %edi
40f341:	6a 00                	push   $0x0
40f343:	51                   	push   %ecx
40f344:	8b 58 20             	mov    0x20(%eax),%ebx
40f347:	8b cb                	mov    %ebx,%ecx
40f349:	ff 15 28 63 41 00    	call   *0x416328
40f34f:	ff d3                	call   *%ebx
40f351:	8b d8                	mov    %eax,%ebx
40f353:	85 db                	test   %ebx,%ebx
40f355:	79 10                	jns    0x40f367
40f357:	53                   	push   %ebx
40f358:	68 bc 3f 40 00       	push   $0x403fbc
40f35d:	68 7b 02 00 00       	push   $0x27b
40f362:	e9 17 01 00 00       	jmp    0x40f47e
40f367:	68 60 3f 40 00       	push   $0x403f60
40f36c:	68 82 02 00 00       	push   $0x282
40f371:	e9 78 01 00 00       	jmp    0x40f4ee
40f376:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f379:	e8 94 e8 ff ff       	call   0x40dc12
40f37e:	e9 75 01 00 00       	jmp    0x40f4f8
40f383:	68 60 3f 40 00       	push   $0x403f60
40f388:	68 80 01 00 00       	push   $0x180
40f38d:	68 f8 2a 40 00       	push   $0x402af8
40f392:	e8 86 1b 00 00       	call   0x410f1d
40f397:	8b 45 08             	mov    0x8(%ebp),%eax
40f39a:	8b 48 04             	mov    0x4(%eax),%ecx
40f39d:	85 c9                	test   %ecx,%ecx
40f39f:	75 15                	jne    0x40f3b6
40f3a1:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40f3a6:	50                   	push   %eax
40f3a7:	68 bc 3f 40 00       	push   $0x403fbc
40f3ac:	68 8a 01 00 00       	push   $0x18a
40f3b1:	e9 b5 fd ff ff       	jmp    0x40f16b
40f3b6:	8b 01                	mov    (%ecx),%eax
40f3b8:	8d 54 24 18          	lea    0x18(%esp),%edx
40f3bc:	52                   	push   %edx
40f3bd:	51                   	push   %ecx
40f3be:	8b 58 24             	mov    0x24(%eax),%ebx
40f3c1:	8b cb                	mov    %ebx,%ecx
40f3c3:	ff 15 28 63 41 00    	call   *0x416328
40f3c9:	ff d3                	call   *%ebx
40f3cb:	8b d8                	mov    %eax,%ebx
40f3cd:	85 db                	test   %ebx,%ebx
40f3cf:	0f 88 29 01 00 00    	js     0x40f4fe
40f3d5:	ff 74 24 18          	push   0x18(%esp)
40f3d9:	bb 60 3f 40 00       	mov    $0x403f60,%ebx
40f3de:	68 93 01 00 00       	push   $0x193
40f3e3:	53                   	push   %ebx
40f3e4:	51                   	push   %ecx
40f3e5:	e8 9c 1a 00 00       	call   0x410e86
40f3ea:	8b 44 24 18          	mov    0x18(%esp),%eax
40f3ee:	83 e8 04             	sub    $0x4,%eax
40f3f1:	74 36                	je     0x40f429
40f3f3:	83 e8 01             	sub    $0x1,%eax
40f3f6:	0f 85 ec 00 00 00    	jne    0x40f4e8
40f3fc:	53                   	push   %ebx
40f3fd:	68 de 01 00 00       	push   $0x1de
40f402:	68 f8 2a 40 00       	push   $0x402af8
40f407:	e8 11 1b 00 00       	call   0x410f1d
40f40c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f40f:	e8 fe e7 ff ff       	call   0x40dc12
40f414:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f417:	6a 00                	push   $0x0
40f419:	e8 0b f3 ff ff       	call   0x40e729
40f41e:	53                   	push   %ebx
40f41f:	68 e8 01 00 00       	push   $0x1e8
40f424:	e9 b5 00 00 00       	jmp    0x40f4de
40f429:	53                   	push   %ebx
40f42a:	68 a8 01 00 00       	push   $0x1a8
40f42f:	68 f8 2a 40 00       	push   $0x402af8
40f434:	e8 e4 1a 00 00       	call   0x410f1d
40f439:	8b 45 08             	mov    0x8(%ebp),%eax
40f43c:	8b 48 04             	mov    0x4(%eax),%ecx
40f43f:	85 c9                	test   %ecx,%ecx
40f441:	75 15                	jne    0x40f458
40f443:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40f448:	50                   	push   %eax
40f449:	68 bc 3f 40 00       	push   $0x403fbc
40f44e:	68 b6 01 00 00       	push   $0x1b6
40f453:	e9 13 fd ff ff       	jmp    0x40f16b
40f458:	8b 01                	mov    (%ecx),%eax
40f45a:	8d 54 24 10          	lea    0x10(%esp),%edx
40f45e:	52                   	push   %edx
40f45f:	51                   	push   %ecx
40f460:	8b 58 14             	mov    0x14(%eax),%ebx
40f463:	8b cb                	mov    %ebx,%ecx
40f465:	ff 15 28 63 41 00    	call   *0x416328
40f46b:	ff d3                	call   *%ebx
40f46d:	8b d8                	mov    %eax,%ebx
40f46f:	85 db                	test   %ebx,%ebx
40f471:	79 18                	jns    0x40f48b
40f473:	53                   	push   %ebx
40f474:	68 bc 3f 40 00       	push   $0x403fbc
40f479:	68 bc 01 00 00       	push   $0x1bc
40f47e:	68 60 3f 40 00       	push   $0x403f60
40f483:	51                   	push   %ecx
40f484:	e8 49 1b 00 00       	call   0x410fd2
40f489:	eb 6f                	jmp    0x40f4fa
40f48b:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
40f490:	75 41                	jne    0x40f4d3
40f492:	33 c0                	xor    %eax,%eax
40f494:	50                   	push   %eax
40f495:	50                   	push   %eax
40f496:	ff 75 08             	push   0x8(%ebp)
40f499:	68 f0 f5 40 00       	push   $0x40f5f0
40f49e:	50                   	push   %eax
40f49f:	50                   	push   %eax
40f4a0:	ff 15 f0 60 41 00    	call   *0x4160f0
40f4a6:	85 c0                	test   %eax,%eax
40f4a8:	75 22                	jne    0x40f4cc
40f4aa:	ff 15 68 61 41 00    	call   *0x416168
40f4b0:	8b d8                	mov    %eax,%ebx
40f4b2:	85 db                	test   %ebx,%ebx
40f4b4:	7e 09                	jle    0x40f4bf
40f4b6:	0f b7 db             	movzwl %bx,%ebx
40f4b9:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
40f4bf:	53                   	push   %ebx
40f4c0:	68 bc 3f 40 00       	push   $0x403fbc
40f4c5:	68 d1 01 00 00       	push   $0x1d1
40f4ca:	eb b2                	jmp    0x40f47e
40f4cc:	50                   	push   %eax
40f4cd:	ff 15 b4 60 41 00    	call   *0x4160b4
40f4d3:	bb 60 3f 40 00       	mov    $0x403f60,%ebx
40f4d8:	53                   	push   %ebx
40f4d9:	68 d9 01 00 00       	push   $0x1d9
40f4de:	68 68 2c 40 00       	push   $0x402c68
40f4e3:	e8 35 1a 00 00       	call   0x410f1d
40f4e8:	53                   	push   %ebx
40f4e9:	68 f5 01 00 00       	push   $0x1f5
40f4ee:	68 68 2c 40 00       	push   $0x402c68
40f4f3:	e8 25 1a 00 00       	call   0x410f1d
40f4f8:	33 db                	xor    %ebx,%ebx
40f4fa:	85 db                	test   %ebx,%ebx
40f4fc:	79 0a                	jns    0x40f508
40f4fe:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f501:	6a 01                	push   $0x1
40f503:	e8 21 f2 ff ff       	call   0x40e729
40f508:	57                   	push   %edi