40e2cb:	0f 85 52 01 00 00    	jne    0x40e423
40e2d1:	53                   	push   %ebx
40e2d2:	68 90 02 00 00       	push   $0x290
40e2d7:	68 f8 2a 40 00       	push   $0x402af8
40e2dc:	e8 3c 2c 00 00       	call   0x410f1d
40e2e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e2e4:	e8 29 f9 ff ff       	call   0x40dc12
40e2e9:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e2ec:	6a 00                	push   $0x0
40e2ee:	e8 36 04 00 00       	call   0x40e729
40e2f3:	53                   	push   %ebx
40e2f4:	68 99 02 00 00       	push   $0x299
40e2f9:	e9 1b 01 00 00       	jmp    0x40e419
40e2fe:	53                   	push   %ebx
40e2ff:	68 c9 01 00 00       	push   $0x1c9
40e304:	68 f8 2a 40 00       	push   $0x402af8
40e309:	e8 0f 2c 00 00       	call   0x410f1d
40e30e:	8b 45 08             	mov    0x8(%ebp),%eax
40e311:	8b 48 04             	mov    0x4(%eax),%ecx
40e314:	85 c9                	test   %ecx,%ecx
40e316:	75 15                	jne    0x40e32d
40e318:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40e31d:	50                   	push   %eax
40e31e:	68 48 3d 40 00       	push   $0x403d48
40e323:	68 d1 01 00 00       	push   $0x1d1
40e328:	e9 63 fb ff ff       	jmp    0x40de90
40e32d:	8b 01                	mov    (%ecx),%eax
40e32f:	8d 54 24 14          	lea    0x14(%esp),%edx
40e333:	52                   	push   %edx
40e334:	51                   	push   %ecx
40e335:	8b 58 14             	mov    0x14(%eax),%ebx
40e338:	8b cb                	mov    %ebx,%ecx
40e33a:	ff 15 28 63 41 00    	call   *0x416328
40e340:	ff d3                	call   *%ebx
40e342:	8b d8                	mov    %eax,%ebx
40e344:	85 db                	test   %ebx,%ebx
40e346:	79 10                	jns    0x40e358
40e348:	53                   	push   %ebx
40e349:	68 48 3d 40 00       	push   $0x403d48
40e34e:	68 d7 01 00 00       	push   $0x1d7
40e353:	e9 40 ff ff ff       	jmp    0x40e298
40e358:	8b 45 08             	mov    0x8(%ebp),%eax
40e35b:	8d 54 24 1c          	lea    0x1c(%esp),%edx
40e35f:	52                   	push   %edx
40e360:	8b 40 04             	mov    0x4(%eax),%eax
40e363:	50                   	push   %eax
40e364:	8b 08                	mov    (%eax),%ecx
40e366:	8b 59 18             	mov    0x18(%ecx),%ebx
40e369:	8b cb                	mov    %ebx,%ecx
40e36b:	ff 15 28 63 41 00    	call   *0x416328
40e371:	ff d3                	call   *%ebx
40e373:	8b d8                	mov    %eax,%ebx
40e375:	85 db                	test   %ebx,%ebx
40e377:	79 10                	jns    0x40e389
40e379:	53                   	push   %ebx
40e37a:	68 48 3d 40 00       	push   $0x403d48
40e37f:	68 de 01 00 00       	push   $0x1de
40e384:	e9 0f ff ff ff       	jmp    0x40e298
40e389:	39 7c 24 14          	cmp    %edi,0x14(%esp)
40e38d:	0f 84 ff 00 00 00    	je     0x40e492
40e393:	8b 45 08             	mov    0x8(%ebp),%eax
40e396:	8d 54 24 18          	lea    0x18(%esp),%edx
40e39a:	52                   	push   %edx
40e39b:	8b 40 04             	mov    0x4(%eax),%eax
40e39e:	50                   	push   %eax
40e39f:	8b 08                	mov    (%eax),%ecx
40e3a1:	8b 59 30             	mov    0x30(%ecx),%ebx
40e3a4:	8b cb                	mov    %ebx,%ecx
40e3a6:	ff 15 28 63 41 00    	call   *0x416328
40e3ac:	ff d3                	call   *%ebx
40e3ae:	8b d8                	mov    %eax,%ebx
40e3b0:	85 db                	test   %ebx,%ebx
40e3b2:	79 10                	jns    0x40e3c4
40e3b4:	53                   	push   %ebx
40e3b5:	68 48 3d 40 00       	push   $0x403d48
40e3ba:	68 f0 01 00 00       	push   $0x1f0
40e3bf:	e9 d4 fe ff ff       	jmp    0x40e298
40e3c4:	39 7c 24 18          	cmp    %edi,0x18(%esp)
40e3c8:	75 44                	jne    0x40e40e
40e3ca:	33 c0                	xor    %eax,%eax
40e3cc:	50                   	push   %eax
40e3cd:	50                   	push   %eax
40e3ce:	ff 75 08             	push   0x8(%ebp)
40e3d1:	68 e0 e7 40 00       	push   $0x40e7e0
40e3d6:	50                   	push   %eax
40e3d7:	50                   	push   %eax
40e3d8:	ff 15 f0 60 41 00    	call   *0x4160f0
40e3de:	85 c0                	test   %eax,%eax
40e3e0:	75 25                	jne    0x40e407
40e3e2:	ff 15 68 61 41 00    	call   *0x416168
40e3e8:	8b d8                	mov    %eax,%ebx
40e3ea:	85 db                	test   %ebx,%ebx
40e3ec:	7e 09                	jle    0x40e3f7
40e3ee:	0f b7 db             	movzwl %bx,%ebx
40e3f1:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
40e3f7:	53                   	push   %ebx
40e3f8:	68 48 3d 40 00       	push   $0x403d48
40e3fd:	68 0b 02 00 00       	push   $0x20b
40e402:	e9 91 fe ff ff       	jmp    0x40e298
40e407:	50                   	push   %eax
40e408:	ff 15 b4 60 41 00    	call   *0x4160b4
40e40e:	bb e8 3c 40 00       	mov    $0x403ce8,%ebx
40e413:	53                   	push   %ebx
40e414:	68 8b 02 00 00       	push   $0x28b
40e419:	68 68 2c 40 00       	push   $0x402c68
40e41e:	e8 fa 2a 00 00       	call   0x410f1d
40e423:	53                   	push   %ebx
40e424:	68 a6 02 00 00       	push   $0x2a6
40e429:	68 68 2c 40 00       	push   $0x402c68
40e42e:	e8 ea 2a 00 00       	call   0x410f1d
40e433:	33 db                	xor    %ebx,%ebx
40e435:	8b c3                	mov    %ebx,%eax
40e437:	85 db                	test   %ebx,%ebx
40e439:	79 18                	jns    0x40e453
40e43b:	85 c0                	test   %eax,%eax
40e43d:	74 0a                	je     0x40e449
40e43f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e442:	6a 11                	push   $0x11
40e444:	e8 f2 26 00 00       	call   0x410b3b
40e449:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e44c:	6a 01                	push   $0x1
40e44e:	e8 d6 02 00 00       	call   0x40e729
40e453:	ff 74 24 3c          	push   0x3c(%esp)
40e457:	ff 15 b8 61 41 00    	call   *0x4161b8
40e45d:	56                   	push   %esi
40e45e:	ff 15 b8 61 41 00    	call   *0x4161b8
40e464:	ff 74 24 24          	push   0x24(%esp)
40e468:	ff 15 b8 61 41 00    	call   *0x4161b8
40e46e:	ff 74 24 28          	push   0x28(%esp)
40e472:	ff 15 b8 61 41 00    	call   *0x4161b8
40e478:	6a 00                	push   $0x0
40e47a:	ff 15 b8 61 41 00    	call   *0x4161b8
40e480:	57                   	push   %edi
40e481:	ff 15 b8 61 41 00    	call   *0x4161b8
40e487:	5f                   	pop    %edi
40e488:	5e                   	pop    %esi
40e489:	8b c3                	mov    %ebx,%eax
40e48b:	5b                   	pop    %ebx
40e48c:	8b e5                	mov    %ebp,%esp
40e48e:	5d                   	pop    %ebp
40e48f:	c2 24 00             	ret    $0x24
40e492:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
40e496:	0f 84 72 ff ff ff    	je     0x40e40e
40e49c:	8b 45 08             	mov    0x8(%ebp),%eax
40e49f:	8d 54 24 20          	lea    0x20(%esp),%edx
40e4a3:	52                   	push   %edx
40e4a4:	8b 40 04             	mov    0x4(%eax),%eax
40e4a7:	50                   	push   %eax
40e4a8:	8b 08                	mov    (%eax),%ecx
40e4aa:	8b 59 2c             	mov    0x2c(%ecx),%ebx
40e4ad:	8b cb                	mov    %ebx,%ecx
40e4af:	ff 15 28 63 41 00    	call   *0x416328
40e4b5:	ff d3                	call   *%ebx
40e4b7:	8b d8                	mov    %eax,%ebx
40e4b9:	85 db                	test   %ebx,%ebx
40e4bb:	79 10                	jns    0x40e4cd
40e4bd:	53                   	push   %ebx
40e4be:	68 48 3d 40 00       	push   $0x403d48
40e4c3:	68 1b 02 00 00       	push   $0x21b
40e4c8:	e9 cb fd ff ff       	jmp    0x40e298
40e4cd:	39 7c 24 20          	cmp    %edi,0x20(%esp)
40e4d1:	0f 84 37 ff ff ff    	je     0x40e40e
40e4d7:	8b 45 08             	mov    0x8(%ebp),%eax
40e4da:	83 ec 0c             	sub    $0xc,%esp
40e4dd:	21 7c 24 40          	and    %edi,0x40(%esp)
40e4e1:	83 c0 68             	add    $0x68,%eax
40e4e4:	8b c8                	mov    %eax,%ecx
40e4e6:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40e4ea:	e8 dc 06 00 00       	call   0x40ebcb
40e4ef:	8b d8                	mov    %eax,%ebx
40e4f1:	85 db                	test   %ebx,%ebx
40e4f3:	79 25                	jns    0x40e51a
40e4f5:	51                   	push   %ecx
40e4f6:	51                   	push   %ecx
40e4f7:	e8 13 29 00 00       	call   0x410e0f
40e4fc:	53                   	push   %ebx
40e4fd:	68 48 3d 40 00       	push   $0x403d48
40e502:	68 33 02 00 00       	push   $0x233
40e507:	68 e8 3c 40 00       	push   $0x403ce8
40e50c:	51                   	push   %ecx
40e50d:	e8 c0 2a 00 00       	call   0x410fd2
40e512:	33 c0                	xor    %eax,%eax
40e514:	40                   	inc    %eax
40e515:	e9 1d ff ff ff       	jmp    0x40e437
40e51a:	8b 45 08             	mov    0x8(%ebp),%eax
40e51d:	8b 48 04             	mov    0x4(%eax),%ecx
40e520:	85 c9                	test   %ecx,%ecx
40e522:	0f 84 38 01 00 00    	je     0x40e660
40e528:	8b 01                	mov    (%ecx),%eax
40e52a:	8d 54 24 24          	lea    0x24(%esp),%edx
40e52e:	52                   	push   %edx
40e52f:	51                   	push   %ecx
40e530:	8b 58 10             	mov    0x10(%eax),%ebx
40e533:	8b cb                	mov    %ebx,%ecx
40e535:	ff 15 28 63 41 00    	call   *0x416328
40e53b:	ff d3                	call   *%ebx
40e53d:	8b d8                	mov    %eax,%ebx
40e53f:	85 db                	test   %ebx,%ebx
40e541:	79 10                	jns    0x40e553
40e543:	53                   	push   %ebx
40e544:	68 48 3d 40 00       	push   $0x403d48
40e549:	68 3b 02 00 00       	push   $0x23b
40e54e:	e9 45 fd ff ff       	jmp    0x40e298
40e553:	8b 44 24 10          	mov    0x10(%esp),%eax
40e557:	ff 74 24 24          	push   0x24(%esp)
40e55b:	8b 00                	mov    (%eax),%eax
40e55d:	50                   	push   %eax
40e55e:	8b 08                	mov    (%eax),%ecx
40e560:	8b 59 48             	mov    0x48(%ecx),%ebx
40e563:	8b cb                	mov    %ebx,%ecx
40e565:	ff 15 28 63 41 00    	call   *0x416328
40e56b:	ff d3                	call   *%ebx
40e56d:	8b d8                	mov    %eax,%ebx
40e56f:	85 db                	test   %ebx,%ebx
40e571:	79 10                	jns    0x40e583
40e573:	53                   	push   %ebx
40e574:	68 48 3d 40 00       	push   $0x403d48
40e579:	68 4a 02 00 00       	push   $0x24a
40e57e:	e9 15 fd ff ff       	jmp    0x40e298
40e583:	8b 44 24 10          	mov    0x10(%esp),%eax
40e587:	8b 00                	mov    (%eax),%eax
40e589:	50                   	push   %eax
40e58a:	8b 08                	mov    (%eax),%ecx
40e58c:	8b 59 34             	mov    0x34(%ecx),%ebx
40e58f:	8b cb                	mov    %ebx,%ecx
40e591:	ff 15 28 63 41 00    	call   *0x416328
40e597:	ff d3                	call   *%ebx
40e599:	8b d8                	mov    %eax,%ebx
40e59b:	85 db                	test   %ebx,%ebx
40e59d:	79 10                	jns    0x40e5af
40e59f:	53                   	push   %ebx
40e5a0:	68 48 3d 40 00       	push   $0x403d48
40e5a5:	68 58 02 00 00       	push   $0x258
40e5aa:	e9 58 ff ff ff       	jmp    0x40e507
40e5af:	8b 44 24 10          	mov    0x10(%esp),%eax
40e5b3:	8d 4c 24 34          	lea    0x34(%esp),%ecx
40e5b7:	6a 00                	push   $0x0
40e5b9:	51                   	push   %ecx
40e5ba:	8b 00                	mov    (%eax),%eax
40e5bc:	50                   	push   %eax
40e5bd:	8b 18                	mov    (%eax),%ebx
40e5bf:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
40e5c2:	ff 15 28 63 41 00    	call   *0x416328
40e5c8:	ff 53 2c             	call   *0x2c(%ebx)
40e5cb:	8b d8                	mov    %eax,%ebx
40e5cd:	85 db                	test   %ebx,%ebx
40e5cf:	79 10                	jns    0x40e5e1
40e5d1:	53                   	push   %ebx
40e5d2:	68 48 3d 40 00       	push   $0x403d48
40e5d7:	68 63 02 00 00       	push   $0x263
40e5dc:	e9 26 ff ff ff       	jmp    0x40e507
40e5e1:	39 7c 24 34          	cmp    %edi,0x34(%esp)
40e5e5:	75 22                	jne    0x40e609
40e5e7:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40e5ec:	50                   	push   %eax
40e5ed:	68 48 3d 40 00       	push   $0x403d48
40e5f2:	68 70 02 00 00       	push   $0x270
40e5f7:	68 e8 3c 40 00       	push   $0x403ce8
40e5fc:	51                   	push   %ecx
40e5fd:	8b d8                	mov    %eax,%ebx
40e5ff:	e8 ce 29 00 00       	call   0x410fd2
40e604:	e9 36 fe ff ff       	jmp    0x40e43f
40e609:	8b 44 24 10          	mov    0x10(%esp),%eax
40e60d:	8d 54 24 28          	lea    0x28(%esp),%edx
40e611:	52                   	push   %edx
40e612:	8b 00                	mov    (%eax),%eax
40e614:	50                   	push   %eax
40e615:	8b 08                	mov    (%eax),%ecx
40e617:	8b 59 20             	mov    0x20(%ecx),%ebx
40e61a:	8b cb                	mov    %ebx,%ecx
40e61c:	ff 15 28 63 41 00    	call   *0x416328
40e622:	ff d3                	call   *%ebx
40e624:	8b d8                	mov    %eax,%ebx
40e626:	85 db                	test   %ebx,%ebx
40e628:	79 10                	jns    0x40e63a
40e62a:	53                   	push   %ebx
40e62b:	68 48 3d 40 00       	push   $0x403d48
40e630:	68 7b 02 00 00       	push   $0x27b
40e635:	e9 cd fe ff ff       	jmp    0x40e507
40e63a:	ff 74 24 28          	push   0x28(%esp)
40e63e:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e641:	e8 e4 14 00 00       	call   0x40fb2a
40e646:	8b d8                	mov    %eax,%ebx
40e648:	85 db                	test   %ebx,%ebx
40e64a:	0f 89 be fd ff ff    	jns    0x40e40e
40e650:	53                   	push   %ebx
40e651:	68 48 3d 40 00       	push   $0x403d48
40e656:	68 83 02 00 00       	push   $0x283
40e65b:	e9 a7 fe ff ff       	jmp    0x40e507
40e660:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40e665:	50                   	push   %eax
40e666:	68 48 3d 40 00       	push   $0x403d48
40e66b:	68 44 02 00 00       	push   $0x244
40e670:	e9 1b f8 ff ff       	jmp    0x40de90
40e675:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
40e67a:	e8 70 65 ff ff       	call   0x404bef
40e67f:	cc                   	int3
40e680:	8b ff                	mov    %edi,%edi
40e682:	55                   	push   %ebp
40e683:	8b ec                	mov    %esp,%ebp
40e685:	53                   	push   %ebx
40e686:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e689:	56                   	push   %esi
40e68a:	57                   	push   %edi
40e68b:	8b f9                	mov    %ecx,%edi
40e68d:	85 db                	test   %ebx,%ebx
40e68f:	75 12                	jne    0x40e6a3
40e691:	be 57 00 07 80       	mov    $0x80070057,%esi
40e696:	56                   	push   %esi
40e697:	68 7c 3d 40 00       	push   $0x403d7c
40e69c:	68 dd 03 00 00       	push   $0x3dd
40e6a1:	eb 72                	jmp    0x40e715
40e6a3:	8b 4f 0c             	mov    0xc(%edi),%ecx
40e6a6:	85 c9                	test   %ecx,%ecx
40e6a8:	74 30                	je     0x40e6da
40e6aa:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
40e6ae:	74 2a                	je     0x40e6da
40e6b0:	8b 01                	mov    (%ecx),%eax
40e6b2:	ff 77 10             	push   0x10(%edi)
40e6b5:	51                   	push   %ecx
40e6b6:	8b 70 18             	mov    0x18(%eax),%esi
40e6b9:	8b ce                	mov    %esi,%ecx
40e6bb:	ff 15 28 63 41 00    	call   *0x416328
40e6c1:	ff d6                	call   *%esi
40e6c3:	8b 47 0c             	mov    0xc(%edi),%eax
40e6c6:	83 67 10 00          	andl   $0x0,0x10(%edi)
40e6ca:	50                   	push   %eax
40e6cb:	8b 08                	mov    (%eax),%ecx
40e6cd:	8b 71 08             	mov    0x8(%ecx),%esi
40e6d0:	8b ce                	mov    %esi,%ecx
40e6d2:	ff 15 28 63 41 00    	call   *0x416328
40e6d8:	ff d6                	call   *%esi
40e6da:	89 5f 0c             	mov    %ebx,0xc(%edi)
40e6dd:	8b 03                	mov    (%ebx),%eax
40e6df:	53                   	push   %ebx
40e6e0:	8b 70 04             	mov    0x4(%eax),%esi
40e6e3:	8b ce                	mov    %esi,%ecx
40e6e5:	ff 15 28 63 41 00    	call   *0x416328
40e6eb:	ff d6                	call   *%esi
40e6ed:	8b 4f 0c             	mov    0xc(%edi),%ecx
40e6f0:	8d 47 10             	lea    0x10(%edi),%eax
40e6f3:	50                   	push   %eax
40e6f4:	57                   	push   %edi
40e6f5:	51                   	push   %ecx
40e6f6:	8b 31                	mov    (%ecx),%esi
40e6f8:	8b 4e 14             	mov    0x14(%esi),%ecx
40e6fb:	ff 15 28 63 41 00    	call   *0x416328
40e701:	ff 56 14             	call   *0x14(%esi)
40e704:	8b f0                	mov    %eax,%esi
40e706:	85 f6                	test   %esi,%esi