450201:	8b 40 04             	mov    0x4(%eax),%eax
450204:	57                   	push   %edi
450205:	8b 30                	mov    (%eax),%esi
450207:	8b ce                	mov    %esi,%ecx
450209:	e8 5e 91 fb ff       	call   0x40936c
45020e:	8b 4e 08             	mov    0x8(%esi),%ecx
450211:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
450217:	8b 09                	mov    (%ecx),%ecx
450219:	50                   	push   %eax
45021a:	ba 04 01 00 00       	mov    $0x104,%edx
45021f:	e8 97 6c ff ff       	call   0x446ebb
450224:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
45022a:	50                   	push   %eax
45022b:	e8 ab 0a fd ff       	call   0x420cdb
450230:	59                   	pop    %ecx
450231:	59                   	pop    %ecx
450232:	33 c9                	xor    %ecx,%ecx
450234:	66 89 8c 45 d6 fd ff 	mov    %cx,-0x22a(%ebp,%eax,2)
45023b:	ff
45023c:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
450242:	6a 54                	push   $0x54
450244:	89 45 e8             	mov    %eax,-0x18(%ebp)
450247:	58                   	pop    %eax
450248:	33 ff                	xor    %edi,%edi
45024a:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
45024e:	8d 45 e0             	lea    -0x20(%ebp),%eax
450251:	50                   	push   %eax
450252:	89 7d f6             	mov    %edi,-0xa(%ebp)
450255:	89 7d fa             	mov    %edi,-0x6(%ebp)
450258:	89 7d f2             	mov    %edi,-0xe(%ebp)
45025b:	89 7d e0             	mov    %edi,-0x20(%ebp)
45025e:	89 7d ec             	mov    %edi,-0x14(%ebp)
450261:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
450268:	ff 15 9c d4 48 00    	call   *0x48d49c
45026e:	85 c0                	test   %eax,%eax
450270:	74 13                	je     0x450285
450272:	8b 75 0c             	mov    0xc(%ebp),%esi
450275:	8b ce                	mov    %esi,%ecx
450277:	e8 a4 29 fc ff       	call   0x412c20
45027c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
450283:	89 3e                	mov    %edi,(%esi)
450285:	5f                   	pop    %edi
450286:	33 c0                	xor    %eax,%eax
450288:	5e                   	pop    %esi
450289:	c9                   	leave
45028a:	c2 08 00             	ret    $0x8
45028d:	55                   	push   %ebp
45028e:	8b ec                	mov    %esp,%ebp
450290:	8b 4d 08             	mov    0x8(%ebp),%ecx
450293:	33 c0                	xor    %eax,%eax
450295:	56                   	push   %esi
450296:	39 41 08             	cmp    %eax,0x8(%ecx)
450299:	74 11                	je     0x4502ac
45029b:	8b 41 04             	mov    0x4(%ecx),%eax
45029e:	8b 30                	mov    (%eax),%esi
4502a0:	8b ce                	mov    %esi,%ecx
4502a2:	e8 c5 90 fb ff       	call   0x40936c
4502a7:	8b 46 08             	mov    0x8(%esi),%eax
4502aa:	8b 00                	mov    (%eax),%eax
4502ac:	6a 07                	push   $0x7
4502ae:	50                   	push   %eax
4502af:	6a 00                	push   $0x0
4502b1:	ff 15 80 d4 48 00    	call   *0x48d480
4502b7:	85 c0                	test   %eax,%eax
4502b9:	74 14                	je     0x4502cf
4502bb:	8b 75 0c             	mov    0xc(%ebp),%esi
4502be:	8b ce                	mov    %esi,%ecx
4502c0:	e8 5b 29 fc ff       	call   0x412c20
4502c5:	83 26 00             	andl   $0x0,(%esi)
4502c8:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4502cf:	33 c0                	xor    %eax,%eax
4502d1:	5e                   	pop    %esi
4502d2:	5d                   	pop    %ebp
4502d3:	c2 08 00             	ret    $0x8
4502d6:	55                   	push   %ebp
4502d7:	8b ec                	mov    %esp,%ebp
4502d9:	8b 45 08             	mov    0x8(%ebp),%eax
4502dc:	6a 00                	push   $0x0
4502de:	ff 70 08             	push   0x8(%eax)
4502e1:	ff 75 0c             	push   0xc(%ebp)
4502e4:	50                   	push   %eax
4502e5:	e8 f0 13 00 00       	call   0x4516da
4502ea:	5d                   	pop    %ebp
4502eb:	c2 08 00             	ret    $0x8
4502ee:	55                   	push   %ebp
4502ef:	8b ec                	mov    %esp,%ebp
4502f1:	81 ec 50 02 00 00    	sub    $0x250,%esp
4502f7:	8b 45 08             	mov    0x8(%ebp),%eax
4502fa:	53                   	push   %ebx
4502fb:	8b d9                	mov    %ecx,%ebx
4502fd:	8b 48 08             	mov    0x8(%eax),%ecx
450300:	8b 40 04             	mov    0x4(%eax),%eax
450303:	89 4d f0             	mov    %ecx,-0x10(%ebp)
450306:	56                   	push   %esi
450307:	8b 30                	mov    (%eax),%esi
450309:	33 c9                	xor    %ecx,%ecx
45030b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45030e:	57                   	push   %edi
45030f:	8b ce                	mov    %esi,%ecx
450311:	bf 00 02 00 00       	mov    $0x200,%edi
450316:	e8 51 90 fb ff       	call   0x40936c
45031b:	8b 46 08             	mov    0x8(%esi),%eax
45031e:	8b 00                	mov    (%eax),%eax
450320:	89 45 e8             	mov    %eax,-0x18(%ebp)
450323:	8b 45 08             	mov    0x8(%ebp),%eax
450326:	8b 40 04             	mov    0x4(%eax),%eax
450329:	8b 70 04             	mov    0x4(%eax),%esi
45032c:	8b ce                	mov    %esi,%ecx
45032e:	e8 39 90 fb ff       	call   0x40936c
450333:	8b 46 08             	mov    0x8(%esi),%eax
450336:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450339:	8b 00                	mov    (%eax),%eax
45033b:	68 00 dc 49 00       	push   $0x49dc00
450340:	89 45 ec             	mov    %eax,-0x14(%ebp)
450343:	e8 71 ca fb ff       	call   0x40cdb9
450348:	33 c0                	xor    %eax,%eax
45034a:	50                   	push   %eax
45034b:	ff 15 3c d8 48 00    	call   *0x48d83c
450351:	83 7d f0 03          	cmpl   $0x3,-0x10(%ebp)
450355:	8b 75 08             	mov    0x8(%ebp),%esi
450358:	72 36                	jb     0x450390
45035a:	8b 46 04             	mov    0x4(%esi),%eax
45035d:	8b 48 08             	mov    0x8(%eax),%ecx
450360:	e8 21 cf fb ff       	call   0x40d286
450365:	a8 01                	test   $0x1,%al
450367:	74 03                	je     0x45036c
450369:	6a 40                	push   $0x40
45036b:	5f                   	pop    %edi
45036c:	8b 46 04             	mov    0x4(%esi),%eax
45036f:	8b 48 08             	mov    0x8(%eax),%ecx
450372:	e8 0f cf fb ff       	call   0x40d286
450377:	a8 02                	test   $0x2,%al
450379:	74 03                	je     0x45037e
45037b:	83 cf 40             	or     $0x40,%edi
45037e:	8b 46 04             	mov    0x4(%esi),%eax
450381:	8b 48 08             	mov    0x8(%eax),%ecx
450384:	e8 fd ce fb ff       	call   0x40d286
450389:	a8 04                	test   $0x4,%al
45038b:	74 03                	je     0x450390
45038d:	83 cf 10             	or     $0x10,%edi
450390:	8d 4d d8             	lea    -0x28(%ebp),%ecx
450393:	e8 5f d4 fb ff       	call   0x40d7f7
450398:	8b 45 f0             	mov    -0x10(%ebp),%eax
45039b:	83 f8 04             	cmp    $0x4,%eax
45039e:	72 1d                	jb     0x4503bd
4503a0:	8b 46 04             	mov    0x4(%esi),%eax
4503a3:	8b 70 0c             	mov    0xc(%eax),%esi
4503a6:	8b ce                	mov    %esi,%ecx
4503a8:	e8 bf 8f fb ff       	call   0x40936c
4503ad:	8b 46 08             	mov    0x8(%esi),%eax
4503b0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4503b3:	ff 30                	push   (%eax)
4503b5:	e8 a9 66 fb ff       	call   0x406a63
4503ba:	8b 45 f0             	mov    -0x10(%ebp),%eax
4503bd:	83 f8 05             	cmp    $0x5,%eax
4503c0:	72 11                	jb     0x4503d3
4503c2:	8b 45 08             	mov    0x8(%ebp),%eax
4503c5:	8b 40 04             	mov    0x4(%eax),%eax
4503c8:	8b 48 10             	mov    0x10(%eax),%ecx
4503cb:	e8 a7 b1 ff ff       	call   0x44b577
4503d0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4503d3:	33 c9                	xor    %ecx,%ecx
4503d5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4503d8:	50                   	push   %eax
4503d9:	51                   	push   %ecx
4503da:	51                   	push   %ecx
4503db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4503de:	ff 15 94 d4 48 00    	call   *0x48d494
4503e4:	8b 75 ec             	mov    -0x14(%ebp),%esi
4503e7:	33 c0                	xor    %eax,%eax
4503e9:	66 39 06             	cmp    %ax,(%esi)
4503ec:	74 3d                	je     0x45042b
4503ee:	8d 45 08             	lea    0x8(%ebp),%eax
4503f1:	50                   	push   %eax
4503f2:	ff 15 90 d4 48 00    	call   *0x48d490
4503f8:	85 c0                	test   %eax,%eax
4503fa:	75 2f                	jne    0x45042b
4503fc:	8b ce                	mov    %esi,%ecx
4503fe:	e8 f1 c2 fc ff       	call   0x41c6f4
450403:	8b 4d 08             	mov    0x8(%ebp),%ecx
450406:	8b f0                	mov    %eax,%esi
450408:	8b 11                	mov    (%ecx),%edx
45040a:	33 c0                	xor    %eax,%eax
45040c:	50                   	push   %eax
45040d:	8d 45 f8             	lea    -0x8(%ebp),%eax
450410:	50                   	push   %eax
450411:	33 c0                	xor    %eax,%eax
450413:	50                   	push   %eax
450414:	56                   	push   %esi
450415:	50                   	push   %eax
450416:	50                   	push   %eax
450417:	51                   	push   %ecx
450418:	ff 52 0c             	call   *0xc(%edx)
45041b:	56                   	push   %esi
45041c:	e8 3d f1 fc ff       	call   0x41f55e
450421:	8b 45 08             	mov    0x8(%ebp),%eax
450424:	59                   	pop    %ecx
450425:	8b 08                	mov    (%eax),%ecx
450427:	50                   	push   %eax
450428:	ff 51 08             	call   *0x8(%ecx)
45042b:	8d 45 fc             	lea    -0x4(%ebp),%eax
45042e:	50                   	push   %eax
45042f:	68 f8 3c 4b 00       	push   $0x4b3cf8
450434:	6a 01                	push   $0x1
450436:	33 c0                	xor    %eax,%eax
450438:	50                   	push   %eax
450439:	68 8c da 48 00       	push   $0x48da8c
45043e:	ff 15 2c d8 48 00    	call   *0x48d82c
450444:	8b 35 10 d8 48 00    	mov    0x48d810,%esi
45044a:	85 c0                	test   %eax,%eax
45044c:	0f 88 da 00 00 00    	js     0x45052c
450452:	8b 03                	mov    (%ebx),%eax
450454:	33 ff                	xor    %edi,%edi
450456:	8b 48 04             	mov    0x4(%eax),%ecx
450459:	57                   	push   %edi
45045a:	6a 01                	push   $0x1
45045c:	03 cb                	add    %ebx,%ecx
45045e:	e8 e9 ca ff ff       	call   0x44cf4c
450463:	8b 45 fc             	mov    -0x4(%ebp),%eax
450466:	8d 55 ec             	lea    -0x14(%ebp),%edx
450469:	89 7d 08             	mov    %edi,0x8(%ebp)
45046c:	8b 08                	mov    (%eax),%ecx
45046e:	52                   	push   %edx
45046f:	50                   	push   %eax
450470:	ff 51 28             	call   *0x28(%ecx)
450473:	85 c0                	test   %eax,%eax
450475:	0f 88 a3 00 00 00    	js     0x45051e
45047b:	8b 45 ec             	mov    -0x14(%ebp),%eax
45047e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
450481:	83 c8 20             	or     $0x20,%eax
450484:	8b 11                	mov    (%ecx),%edx
450486:	50                   	push   %eax
450487:	51                   	push   %ecx
450488:	ff 52 24             	call   *0x24(%edx)
45048b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45048e:	ff 75 d8             	push   -0x28(%ebp)
450491:	8b 08                	mov    (%eax),%ecx
450493:	50                   	push   %eax
450494:	ff 51 3c             	call   *0x3c(%ecx)
450497:	8b 45 fc             	mov    -0x4(%ebp),%eax
45049a:	8b 55 e8             	mov    -0x18(%ebp),%edx
45049d:	8b 08                	mov    (%eax),%ecx
45049f:	52                   	push   %edx
4504a0:	50                   	push   %eax
4504a1:	ff 51 44             	call   *0x44(%ecx)
4504a4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4504a7:	50                   	push   %eax
4504a8:	ff 75 f8             	push   -0x8(%ebp)
4504ab:	57                   	push   %edi
4504ac:	57                   	push   %edi
4504ad:	ff 15 8c d4 48 00    	call   *0x48d48c
4504b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4504b6:	ff 75 f0             	push   -0x10(%ebp)
4504b9:	8b 08                	mov    (%eax),%ecx
4504bb:	50                   	push   %eax
4504bc:	ff 51 30             	call   *0x30(%ecx)
4504bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4504c2:	8b 55 f4             	mov    -0xc(%ebp),%edx
4504c5:	8b 08                	mov    (%eax),%ecx
4504c7:	52                   	push   %edx
4504c8:	50                   	push   %eax
4504c9:	ff 51 0c             	call   *0xc(%ecx)
4504cc:	85 c0                	test   %eax,%eax
4504ce:	78 4e                	js     0x45051e
4504d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4504d3:	8d 55 f4             	lea    -0xc(%ebp),%edx
4504d6:	8b 08                	mov    (%eax),%ecx
4504d8:	52                   	push   %edx
4504d9:	50                   	push   %eax
4504da:	ff 51 50             	call   *0x50(%ecx)
4504dd:	85 c0                	test   %eax,%eax
4504df:	78 3d                	js     0x45051e
4504e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4504e4:	8d 4d 08             	lea    0x8(%ebp),%ecx
4504e7:	8b 10                	mov    (%eax),%edx
4504e9:	51                   	push   %ecx
4504ea:	68 00 80 02 80       	push   $0x80028000
4504ef:	50                   	push   %eax
4504f0:	ff 52 14             	call   *0x14(%edx)
4504f3:	85 c0                	test   %eax,%eax
4504f5:	78 1e                	js     0x450515
4504f7:	ff 75 08             	push   0x8(%ebp)
4504fa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4504fd:	e8 b7 c8 fb ff       	call   0x40cdb9
450502:	ff 75 08             	push   0x8(%ebp)
450505:	ff d6                	call   *%esi
450507:	8b 03                	mov    (%ebx),%eax
450509:	57                   	push   %edi
45050a:	8b 48 04             	mov    0x4(%eax),%ecx
45050d:	57                   	push   %edi
45050e:	03 cb                	add    %ebx,%ecx
450510:	e8 37 ca ff ff       	call   0x44cf4c
450515:	8b 45 f4             	mov    -0xc(%ebp),%eax
450518:	50                   	push   %eax
450519:	8b 08                	mov    (%eax),%ecx
45051b:	ff 51 08             	call   *0x8(%ecx)
45051e:	8b 45 fc             	mov    -0x4(%ebp),%eax
450521:	50                   	push   %eax
450522:	8b 08                	mov    (%eax),%ecx
450524:	ff 51 08             	call   *0x8(%ecx)
450527:	e9 aa 00 00 00       	jmp    0x4505d6
45052c:	33 c0                	xor    %eax,%eax
45052e:	68 06 02 00 00       	push   $0x206
450533:	50                   	push   %eax
450534:	66 89 85 b0 fd ff ff 	mov    %ax,-0x250(%ebp)
45053b:	8d 85 b2 fd ff ff    	lea    -0x24e(%ebp),%eax
450541:	50                   	push   %eax
450542:	e8 09 08 fd ff       	call   0x420d50
450547:	8b 45 f8             	mov    -0x8(%ebp),%eax
45054a:	8b 55 f4             	mov    -0xc(%ebp),%edx
45054d:	89 45 bc             	mov    %eax,-0x44(%ebp)
450550:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
450556:	89 45 c0             	mov    %eax,-0x40(%ebp)
450559:	8b 45 d8             	mov    -0x28(%ebp),%eax
45055c:	89 45 d0             	mov    %eax,-0x30(%ebp)
45055f:	33 c0                	xor    %eax,%eax
450561:	83 c4 0c             	add    $0xc,%esp
450564:	89 45 d4             	mov    %eax,-0x2c(%ebp)
450567:	89 55 b8             	mov    %edx,-0x48(%ebp)
45056a:	8b 55 e8             	mov    -0x18(%ebp),%edx
45056d:	8d 45 b8             	lea    -0x48(%ebp),%eax
450570:	50                   	push   %eax
450571:	89 55 c4             	mov    %edx,-0x3c(%ebp)
450574:	c7 45 cc 91 d0 44 00 	movl   $0x44d091,-0x34(%ebp)
45057b:	89 7d c8             	mov    %edi,-0x38(%ebp)
45057e:	ff 15 88 d4 48 00    	call   *0x48d488
450584:	8b f8                	mov    %eax,%edi
450586:	85 ff                	test   %edi,%edi
450588:	74 3b                	je     0x4505c5
45058a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45058d:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
450593:	50                   	push   %eax
450594:	e8 20 c8 fb ff       	call   0x40cdb9
450599:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
45059f:	50                   	push   %eax
4505a0:	57                   	push   %edi
4505a1:	ff 15 84 d4 48 00    	call   *0x48d484
4505a7:	57                   	push   %edi
4505a8:	ff d6                	call   *%esi
4505aa:	66 83 bd b0 fd ff ff 	cmpw   $0x0,-0x250(%ebp)
4505b1:	00
4505b2:	74 22                	je     0x4505d6
4505b4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4505b7:	8d 85 b0 fd ff ff    	lea    -0x250(%ebp),%eax
4505bd:	50                   	push   %eax
4505be:	e8 f6 c7 fb ff       	call   0x40cdb9
4505c3:	eb 11                	jmp    0x4505d6
4505c5:	33 c0                	xor    %eax,%eax
4505c7:	50                   	push   %eax
4505c8:	8b 03                	mov    (%ebx),%eax