45b2b9:	56                   	push   %esi
45b2ba:	57                   	push   %edi
45b2bb:	be 3c d9 48 00       	mov    $0x48d93c,%esi
45b2c0:	8d 7c 24 60          	lea    0x60(%esp),%edi
45b2c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2c7:	89 44 24 20          	mov    %eax,0x20(%esp)
45b2cb:	8d 44 24 40          	lea    0x40(%esp),%eax
45b2cf:	50                   	push   %eax
45b2d0:	89 4c 24 18          	mov    %ecx,0x18(%esp)
45b2d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b2d5:	ff 15 64 d4 48 00    	call   *0x48d464
45b2db:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b2de:	33 db                	xor    %ebx,%ebx
45b2e0:	33 f6                	xor    %esi,%esi
45b2e2:	46                   	inc    %esi
45b2e3:	68 00 dc 49 00       	push   $0x49dc00
45b2e8:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
45b2ec:	89 5c 24 50          	mov    %ebx,0x50(%esp)
45b2f0:	89 5c 24 14          	mov    %ebx,0x14(%esp)
45b2f4:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
45b2f8:	89 74 24 30          	mov    %esi,0x30(%esp)
45b2fc:	e8 b8 1a fb ff       	call   0x40cdb9
45b301:	53                   	push   %ebx
45b302:	ff 15 3c d8 48 00    	call   *0x48d83c
45b308:	3b c6                	cmp    %esi,%eax
45b30a:	75 06                	jne    0x45b312
45b30c:	ff 15 40 d8 48 00    	call   *0x48d840
45b312:	8b 7d 08             	mov    0x8(%ebp),%edi
45b315:	6a 29                	push   $0x29
45b317:	8b 47 04             	mov    0x4(%edi),%eax
45b31a:	8b 30                	mov    (%eax),%esi
45b31c:	8b ce                	mov    %esi,%ecx
45b31e:	e8 c9 68 fa ff       	call   0x401bec
45b323:	84 c0                	test   %al,%al
45b325:	74 0c                	je     0x45b333
45b327:	68 00 dc 49 00       	push   $0x49dc00
45b32c:	8b ce                	mov    %esi,%ecx
45b32e:	e8 86 1a fb ff       	call   0x40cdb9
45b333:	33 c0                	xor    %eax,%eax
45b335:	40                   	inc    %eax
45b336:	39 44 24 20          	cmp    %eax,0x20(%esp)
45b33a:	76 3d                	jbe    0x45b379
45b33c:	89 44 24 28          	mov    %eax,0x28(%esp)
45b340:	8b 47 04             	mov    0x4(%edi),%eax
45b343:	8b 70 04             	mov    0x4(%eax),%esi
45b346:	8b ce                	mov    %esi,%ecx
45b348:	e8 1f e0 fa ff       	call   0x40936c
45b34d:	8b 46 08             	mov    0x8(%esi),%eax
45b350:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
45b354:	51                   	push   %ecx
45b355:	8b 08                	mov    (%eax),%ecx
45b357:	8d 54 24 64          	lea    0x64(%esp),%edx
45b35b:	e8 5f e7 fd ff       	call   0x439abf
45b360:	59                   	pop    %ecx
45b361:	85 c0                	test   %eax,%eax
45b363:	79 14                	jns    0x45b379
45b365:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45b369:	53                   	push   %ebx
45b36a:	53                   	push   %ebx
45b36b:	53                   	push   %ebx
45b36c:	50                   	push   %eax
45b36d:	e8 4b 0a 00 00       	call   0x45bdbd
45b372:	8b d8                	mov    %eax,%ebx
45b374:	e9 b5 02 00 00       	jmp    0x45b62e
45b379:	8b 47 04             	mov    0x4(%edi),%eax
45b37c:	8b 30                	mov    (%eax),%esi
45b37e:	8b ce                	mov    %esi,%ecx
45b380:	e8 e7 df fa ff       	call   0x40936c
45b385:	8b 4e 08             	mov    0x8(%esi),%ecx
45b388:	ba 00 dc 49 00       	mov    $0x49dc00,%edx
45b38d:	8b 01                	mov    (%ecx),%eax
45b38f:	89 44 24 30          	mov    %eax,0x30(%esp)
45b393:	89 44 24 50          	mov    %eax,0x50(%esp)
45b397:	8b 41 04             	mov    0x4(%ecx),%eax
45b39a:	89 44 24 54          	mov    %eax,0x54(%esp)
45b39e:	8b 41 08             	mov    0x8(%ecx),%eax
45b3a1:	89 44 24 58          	mov    %eax,0x58(%esp)
45b3a5:	8b 41 0c             	mov    0xc(%ecx),%eax
45b3a8:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45b3ac:	ff 00                	incl   (%eax)
45b3ae:	89 44 24 5c          	mov    %eax,0x5c(%esp)
45b3b2:	e8 78 38 fc ff       	call   0x41ec2f
45b3b7:	84 c0                	test   %al,%al
45b3b9:	0f 84 72 01 00 00    	je     0x45b531
45b3bf:	83 7c 24 20 02       	cmpl   $0x2,0x20(%esp)
45b3c4:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
45b3cb:	00
45b3cc:	76 38                	jbe    0x45b406
45b3ce:	8b 47 04             	mov    0x4(%edi),%eax
45b3d1:	6a 29                	push   $0x29
45b3d3:	8b 70 08             	mov    0x8(%eax),%esi
45b3d6:	8b ce                	mov    %esi,%ecx
45b3d8:	e8 0f 68 fa ff       	call   0x401bec
45b3dd:	84 c0                	test   %al,%al
45b3df:	75 1d                	jne    0x45b3fe
45b3e1:	8b ce                	mov    %esi,%ecx
45b3e3:	e8 9e 1e fb ff       	call   0x40d286
45b3e8:	83 f8 01             	cmp    $0x1,%eax
45b3eb:	7c 11                	jl     0x45b3fe
45b3ed:	8b 47 04             	mov    0x4(%edi),%eax
45b3f0:	8b 48 08             	mov    0x8(%eax),%ecx
45b3f3:	e8 8e 1e fb ff       	call   0x40d286
45b3f8:	89 44 24 24          	mov    %eax,0x24(%esp)
45b3fc:	eb 08                	jmp    0x45b406
45b3fe:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
45b405:	00
45b406:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45b40a:	50                   	push   %eax
45b40b:	53                   	push   %ebx
45b40c:	ff 15 44 d8 48 00    	call   *0x48d844
45b412:	85 c0                	test   %eax,%eax
45b414:	78 1d                	js     0x45b433
45b416:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45b41a:	8d 54 24 28          	lea    0x28(%esp),%edx
45b41e:	8b 08                	mov    (%eax),%ecx
45b420:	52                   	push   %edx
45b421:	50                   	push   %eax
45b422:	ff 51 24             	call   *0x24(%ecx)
45b425:	85 c0                	test   %eax,%eax
45b427:	79 22                	jns    0x45b44b
45b429:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45b42d:	50                   	push   %eax
45b42e:	8b 08                	mov    (%eax),%ecx
45b430:	ff 51 08             	call   *0x8(%ecx)
45b433:	53                   	push   %ebx
45b434:	53                   	push   %ebx
45b435:	53                   	push   %ebx
45b436:	68 05 40 00 80       	push   $0x80004005
45b43b:	8b 4c 24 24          	mov    0x24(%esp),%ecx
45b43f:	e8 79 09 00 00       	call   0x45bdbd
45b444:	8b d8                	mov    %eax,%ebx
45b446:	e9 da 01 00 00       	jmp    0x45b625
45b44b:	8b 44 24 28          	mov    0x28(%esp),%eax
45b44f:	89 5c 24 20          	mov    %ebx,0x20(%esp)
45b453:	89 5c 24 18          	mov    %ebx,0x18(%esp)
45b457:	8b 08                	mov    (%eax),%ecx
45b459:	50                   	push   %eax
45b45a:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
45b461:	00
45b462:	ff 51 14             	call   *0x14(%ecx)
45b465:	8b 44 24 28          	mov    0x28(%esp),%eax
45b469:	53                   	push   %ebx
45b46a:	8b 08                	mov    (%eax),%ecx
45b46c:	8d 54 24 1c          	lea    0x1c(%esp),%edx
45b470:	52                   	push   %edx
45b471:	6a 01                	push   $0x1
45b473:	50                   	push   %eax
45b474:	ff 51 0c             	call   *0xc(%ecx)
45b477:	85 c0                	test   %eax,%eax
45b479:	0f 85 9a 00 00 00    	jne    0x45b519
45b47f:	39 5c 24 18          	cmp    %ebx,0x18(%esp)
45b483:	0f 84 90 00 00 00    	je     0x45b519
45b489:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45b48d:	8d 54 24 20          	lea    0x20(%esp),%edx
45b491:	8b 08                	mov    (%eax),%ecx
45b493:	52                   	push   %edx
45b494:	ff 74 24 1c          	push   0x1c(%esp)
45b498:	50                   	push   %eax
45b499:	ff 51 18             	call   *0x18(%ecx)
45b49c:	85 c0                	test   %eax,%eax
45b49e:	78 60                	js     0x45b500
45b4a0:	8b 44 24 20          	mov    0x20(%esp),%eax
45b4a4:	8d 54 24 10          	lea    0x10(%esp),%edx
45b4a8:	8b 08                	mov    (%eax),%ecx
45b4aa:	52                   	push   %edx
45b4ab:	68 1c d9 48 00       	push   $0x48d91c
45b4b0:	50                   	push   %eax
45b4b1:	ff 11                	call   *(%ecx)
45b4b3:	85 c0                	test   %eax,%eax
45b4b5:	78 49                	js     0x45b500
45b4b7:	8b 44 24 20          	mov    0x20(%esp),%eax
45b4bb:	50                   	push   %eax
45b4bc:	8b 08                	mov    (%eax),%ecx
45b4be:	ff 51 08             	call   *0x8(%ecx)
45b4c1:	8b 54 24 2c          	mov    0x2c(%esp),%edx
45b4c5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45b4c9:	83 ec 10             	sub    $0x10,%esp
45b4cc:	8d 74 24 70          	lea    0x70(%esp),%esi
45b4d0:	8b fc                	mov    %esp,%edi
45b4d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b4d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b4d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b4d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b4d6:	e8 d8 e9 fd ff       	call   0x439eb3
45b4db:	83 c4 10             	add    $0x10,%esp
45b4de:	83 f8 01             	cmp    $0x1,%eax
45b4e1:	75 0f                	jne    0x45b4f2
45b4e3:	8b 74 24 30          	mov    0x30(%esp),%esi
45b4e7:	3b 74 24 24          	cmp    0x24(%esp),%esi
45b4eb:	74 22                	je     0x45b50f
45b4ed:	46                   	inc    %esi
45b4ee:	89 74 24 30          	mov    %esi,0x30(%esp)
45b4f2:	8b 44 24 10          	mov    0x10(%esp),%eax
45b4f6:	50                   	push   %eax
45b4f7:	8b 08                	mov    (%eax),%ecx
45b4f9:	ff 51 08             	call   *0x8(%ecx)
45b4fc:	89 5c 24 10          	mov    %ebx,0x10(%esp)
45b500:	8b 44 24 18          	mov    0x18(%esp),%eax
45b504:	50                   	push   %eax
45b505:	8b 08                	mov    (%eax),%ecx
45b507:	ff 51 08             	call   *0x8(%ecx)
45b50a:	e9 56 ff ff ff       	jmp    0x45b465
45b50f:	8b 44 24 18          	mov    0x18(%esp),%eax
45b513:	50                   	push   %eax
45b514:	8b 08                	mov    (%eax),%ecx
45b516:	ff 51 08             	call   *0x8(%ecx)
45b519:	8b 44 24 28          	mov    0x28(%esp),%eax
45b51d:	50                   	push   %eax
45b51e:	8b 08                	mov    (%eax),%ecx
45b520:	ff 51 08             	call   *0x8(%ecx)
45b523:	8b 44 24 1c          	mov    0x1c(%esp),%eax
45b527:	50                   	push   %eax
45b528:	8b 08                	mov    (%eax),%ecx
45b52a:	ff 51 08             	call   *0x8(%ecx)
45b52d:	8b cb                	mov    %ebx,%ecx
45b52f:	eb 78                	jmp    0x45b5a9
45b531:	8b 3d 94 d1 48 00    	mov    0x48d194,%edi
45b537:	6a 01                	push   $0x1
45b539:	ff d7                	call   *%edi
45b53b:	8b f0                	mov    %eax,%esi
45b53d:	8b 44 24 28          	mov    0x28(%esp),%eax
45b541:	f7 d8                	neg    %eax
45b543:	1b c0                	sbb    %eax,%eax
45b545:	8d 4c 24 60          	lea    0x60(%esp),%ecx
45b549:	23 c1                	and    %ecx,%eax
45b54b:	8d 4c 24 34          	lea    0x34(%esp),%ecx
45b54f:	51                   	push   %ecx
45b550:	6a 01                	push   $0x1
45b552:	ff 74 24 38          	push   0x38(%esp)
45b556:	c7 44 24 40 1c d9 48 	movl   $0x48d91c,0x40(%esp)
45b55d:	00
45b55e:	6a 02                	push   $0x2
45b560:	6a 15                	push   $0x15
45b562:	53                   	push   %ebx
45b563:	50                   	push   %eax
45b564:	53                   	push   %ebx
45b565:	89 5c 24 58          	mov    %ebx,0x58(%esp)
45b569:	89 5c 24 5c          	mov    %ebx,0x5c(%esp)
45b56d:	ff 15 48 d8 48 00    	call   *0x48d848
45b573:	85 c0                	test   %eax,%eax
45b575:	78 06                	js     0x45b57d
45b577:	8b 44 24 38          	mov    0x38(%esp),%eax
45b57b:	eb 21                	jmp    0x45b59e
45b57d:	8d 44 24 24          	lea    0x24(%esp),%eax
45b581:	50                   	push   %eax
45b582:	68 1c d9 48 00       	push   $0x48d91c
45b587:	53                   	push   %ebx
45b588:	ff 74 24 3c          	push   0x3c(%esp)
45b58c:	89 5c 24 34          	mov    %ebx,0x34(%esp)
45b590:	ff 15 4c d8 48 00    	call   *0x48d84c
45b596:	85 c0                	test   %eax,%eax
45b598:	78 79                	js     0x45b613
45b59a:	8b 44 24 24          	mov    0x24(%esp),%eax
45b59e:	56                   	push   %esi
45b59f:	89 44 24 14          	mov    %eax,0x14(%esp)
45b5a3:	ff d7                	call   *%edi
45b5a5:	8b 4c 24 28          	mov    0x28(%esp),%ecx
45b5a9:	8b 44 24 10          	mov    0x10(%esp),%eax
45b5ad:	85 c0                	test   %eax,%eax
45b5af:	74 55                	je     0x45b606
45b5b1:	85 c9                	test   %ecx,%ecx
45b5b3:	74 36                	je     0x45b5eb
45b5b5:	8b 54 24 2c          	mov    0x2c(%esp),%edx
45b5b9:	83 ec 10             	sub    $0x10,%esp
45b5bc:	8d 74 24 70          	lea    0x70(%esp),%esi
45b5c0:	8b fc                	mov    %esp,%edi
45b5c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b5c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b5c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b5c5:	8b c8                	mov    %eax,%ecx
45b5c7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b5c8:	e8 e6 e8 fd ff       	call   0x439eb3
45b5cd:	83 c4 10             	add    $0x10,%esp
45b5d0:	85 c0                	test   %eax,%eax
45b5d2:	8b 44 24 10          	mov    0x10(%esp),%eax
45b5d6:	75 13                	jne    0x45b5eb
45b5d8:	8b 08                	mov    (%eax),%ecx
45b5da:	50                   	push   %eax
45b5db:	ff 51 08             	call   *0x8(%ecx)
45b5de:	53                   	push   %ebx
45b5df:	53                   	push   %ebx
45b5e0:	53                   	push   %ebx
45b5e1:	68 a0 8c 02 80       	push   $0x80028ca0
45b5e6:	e9 50 fe ff ff       	jmp    0x45b43b
45b5eb:	6a 09                	push   $0x9
45b5ed:	59                   	pop    %ecx
45b5ee:	89 44 24 48          	mov    %eax,0x48(%esp)
45b5f2:	8d 44 24 40          	lea    0x40(%esp),%eax
45b5f6:	66 89 4c 24 40       	mov    %cx,0x40(%esp)
45b5fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b5fe:	50                   	push   %eax
45b5ff:	e8 c1 e7 fe ff       	call   0x449dc5
45b604:	eb 1f                	jmp    0x45b625
45b606:	53                   	push   %ebx
45b607:	53                   	push   %ebx
45b608:	53                   	push   %ebx
45b609:	68 06 00 02 80       	push   $0x80020006
45b60e:	e9 28 fe ff ff       	jmp    0x45b43b
45b613:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45b617:	53                   	push   %ebx
45b618:	53                   	push   %ebx
45b619:	53                   	push   %ebx
45b61a:	50                   	push   %eax
45b61b:	e8 9d 07 00 00       	call   0x45bdbd
45b620:	56                   	push   %esi
45b621:	8b d8                	mov    %eax,%ebx
45b623:	ff d7                	call   *%edi
45b625:	8d 4c 24 50          	lea    0x50(%esp),%ecx
45b629:	e8 09 15 fb ff       	call   0x40cb37
45b62e:	8d 44 24 40          	lea    0x40(%esp),%eax
45b632:	50                   	push   %eax
45b633:	ff 15 4c d4 48 00    	call   *0x48d44c
45b639:	5f                   	pop    %edi
45b63a:	5e                   	pop    %esi
45b63b:	8b c3                	mov    %ebx,%eax
45b63d:	5b                   	pop    %ebx
45b63e:	8b e5                	mov    %ebp,%esp
45b640:	5d                   	pop    %ebp
45b641:	c2 08 00             	ret    $0x8
45b644:	55                   	push   %ebp
45b645:	8b ec                	mov    %esp,%ebp
45b647:	81 ec a0 02 00 00    	sub    $0x2a0,%esp
45b64d:	53                   	push   %ebx
45b64e:	57                   	push   %edi
45b64f:	8b d9                	mov    %ecx,%ebx
45b651:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45b654:	68 00 dc 49 00       	push   $0x49dc00
45b659:	e8 5b 17 fb ff       	call   0x40cdb9
45b65e:	8b 7d 08             	mov    0x8(%ebp),%edi
45b661:	8b 57 04             	mov    0x4(%edi),%edx
45b664:	8b 0a                	mov    (%edx),%ecx
45b666:	e8 bd fe fe ff       	call   0x44b528
45b66b:	84 c0                	test   %al,%al
45b66d:	75 15                	jne    0x45b684
45b66f:	8b 03                	mov    (%ebx),%eax
45b671:	6a 00                	push   $0x0
45b673:	8b 48 04             	mov    0x4(%eax),%ecx
45b676:	6a 01                	push   $0x1
45b678:	03 cb                	add    %ebx,%ecx
45b67a:	e8 cd 18 ff ff       	call   0x44cf4c
45b67f:	e9 0e 02 00 00       	jmp    0x45b892
45b684:	56                   	push   %esi
45b685:	33 f6                	xor    %esi,%esi
45b687:	46                   	inc    %esi
45b688:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45b68b:	39 77 08             	cmp    %esi,0x8(%edi)
45b68e:	76 1f                	jbe    0x45b6af
45b690:	8b 4a 04             	mov    0x4(%edx),%ecx