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
4505ca:	6a 01                	push   $0x1
4505cc:	8b 48 04             	mov    0x4(%eax),%ecx
4505cf:	03 cb                	add    %ebx,%ecx
4505d1:	e8 76 c9 ff ff       	call   0x44cf4c
4505d6:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4505da:	74 05                	je     0x4505e1
4505dc:	ff 75 f8             	push   -0x8(%ebp)
4505df:	ff d6                	call   *%esi
4505e1:	ff 15 40 d8 48 00    	call   *0x48d840
4505e7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4505ea:	e8 48 c5 fb ff       	call   0x40cb37
4505ef:	5f                   	pop    %edi
4505f0:	5e                   	pop    %esi
4505f1:	33 c0                	xor    %eax,%eax
4505f3:	5b                   	pop    %ebx
4505f4:	c9                   	leave
4505f5:	c2 08 00             	ret    $0x8
4505f8:	55                   	push   %ebp
4505f9:	8b ec                	mov    %esp,%ebp
4505fb:	83 e4 f8             	and    $0xfffffff8,%esp
4505fe:	b8 24 06 02 00       	mov    $0x20624,%eax
450603:	e8 98 f2 fd ff       	call   0x42f8a0
450608:	53                   	push   %ebx
450609:	8b 5d 08             	mov    0x8(%ebp),%ebx
45060c:	56                   	push   %esi
45060d:	33 c0                	xor    %eax,%eax
45060f:	57                   	push   %edi
450610:	8b f8                	mov    %eax,%edi
450612:	89 44 24 0c          	mov    %eax,0xc(%esp)
450616:	8b 43 04             	mov    0x4(%ebx),%eax
450619:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
45061d:	8b 70 04             	mov    0x4(%eax),%esi
450620:	8b ce                	mov    %esi,%ecx
450622:	89 7c 24 10          	mov    %edi,0x10(%esp)
450626:	e8 41 8d fb ff       	call   0x40936c
45062b:	8b 46 08             	mov    0x8(%esi),%eax
45062e:	33 d2                	xor    %edx,%edx
450630:	8b 30                	mov    (%eax),%esi
450632:	42                   	inc    %edx
450633:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
450637:	89 54 24 28          	mov    %edx,0x28(%esp)
45063b:	72 18                	jb     0x450655
45063d:	8b 43 04             	mov    0x4(%ebx),%eax
450640:	8b 48 08             	mov    0x8(%eax),%ecx
450643:	e8 3e cc fb ff       	call   0x40d286
450648:	33 d2                	xor    %edx,%edx
45064a:	42                   	inc    %edx
45064b:	3b c2                	cmp    %edx,%eax
45064d:	75 06                	jne    0x450655
45064f:	8a da                	mov    %dl,%bl
450651:	33 c0                	xor    %eax,%eax
450653:	eb 04                	jmp    0x450659
450655:	33 c0                	xor    %eax,%eax
450657:	8a d8                	mov    %al,%bl
450659:	88 5c 24 14          	mov    %bl,0x14(%esp)
45065d:	66 39 06             	cmp    %ax,(%esi)
450660:	0f 84 ae 00 00 00    	je     0x450714
450666:	8b 4c 24 28          	mov    0x28(%esp),%ecx
45066a:	0f b7 06             	movzwl (%esi),%eax
45066d:	83 f8 2b             	cmp    $0x2b,%eax
450670:	75 07                	jne    0x450679
450672:	83 c6 02             	add    $0x2,%esi
450675:	8b ca                	mov    %edx,%ecx
450677:	eb 0c                	jmp    0x450685
450679:	83 f8 2d             	cmp    $0x2d,%eax
45067c:	75 07                	jne    0x450685
45067e:	83 c6 02             	add    $0x2,%esi
450681:	33 c0                	xor    %eax,%eax
450683:	8b c8                	mov    %eax,%ecx
450685:	0f b7 06             	movzwl (%esi),%eax
450688:	83 f8 52             	cmp    $0x52,%eax
45068b:	74 67                	je     0x4506f4
45068d:	83 f8 72             	cmp    $0x72,%eax
450690:	74 62                	je     0x4506f4
450692:	83 f8 41             	cmp    $0x41,%eax
450695:	74 59                	je     0x4506f0
450697:	83 f8 61             	cmp    $0x61,%eax
45069a:	74 54                	je     0x4506f0
45069c:	83 f8 53             	cmp    $0x53,%eax
45069f:	74 4b                	je     0x4506ec
4506a1:	83 f8 73             	cmp    $0x73,%eax
4506a4:	74 46                	je     0x4506ec
4506a6:	83 f8 48             	cmp    $0x48,%eax
4506a9:	74 3c                	je     0x4506e7
4506ab:	83 f8 68             	cmp    $0x68,%eax
4506ae:	74 37                	je     0x4506e7
4506b0:	83 f8 4e             	cmp    $0x4e,%eax
4506b3:	74 2b                	je     0x4506e0
4506b5:	83 f8 6e             	cmp    $0x6e,%eax
4506b8:	74 26                	je     0x4506e0
4506ba:	83 f8 4f             	cmp    $0x4f,%eax
4506bd:	74 1a                	je     0x4506d9
4506bf:	83 f8 6f             	cmp    $0x6f,%eax
4506c2:	74 15                	je     0x4506d9
4506c4:	83 f8 54             	cmp    $0x54,%eax
4506c7:	74 09                	je     0x4506d2
4506c9:	83 f8 74             	cmp    $0x74,%eax
4506cc:	0f 85 4d 01 00 00    	jne    0x45081f
4506d2:	b8 00 01 00 00       	mov    $0x100,%eax
4506d7:	eb 1d                	jmp    0x4506f6
4506d9:	b8 00 10 00 00       	mov    $0x1000,%eax
4506de:	eb 16                	jmp    0x4506f6
4506e0:	b8 80 00 00 00       	mov    $0x80,%eax
4506e5:	eb 0f                	jmp    0x4506f6
4506e7:	6a 02                	push   $0x2
4506e9:	58                   	pop    %eax
4506ea:	eb 0a                	jmp    0x4506f6
4506ec:	6a 04                	push   $0x4
4506ee:	eb f9                	jmp    0x4506e9
4506f0:	6a 20                	push   $0x20
4506f2:	eb f5                	jmp    0x4506e9
4506f4:	8b c2                	mov    %edx,%eax
4506f6:	3b ca                	cmp    %edx,%ecx
4506f8:	75 08                	jne    0x450702
4506fa:	0b f8                	or     %eax,%edi
4506fc:	89 7c 24 10          	mov    %edi,0x10(%esp)
450700:	eb 04                	jmp    0x450706
450702:	09 44 24 0c          	or     %eax,0xc(%esp)
450706:	83 c6 02             	add    $0x2,%esi
450709:	33 c0                	xor    %eax,%eax
45070b:	66 39 06             	cmp    %ax,(%esi)
45070e:	0f 85 56 ff ff ff    	jne    0x45066a
450714:	8b 45 08             	mov    0x8(%ebp),%eax
450717:	8b 40 04             	mov    0x4(%eax),%eax
45071a:	8b 30                	mov    (%eax),%esi
45071c:	8b ce                	mov    %esi,%ecx
45071e:	e8 49 8c fb ff       	call   0x40936c
450723:	8b 4e 08             	mov    0x8(%esi),%ecx
450726:	8d 54 24 18          	lea    0x18(%esp),%edx
45072a:	8b 01                	mov    (%ecx),%eax
45072c:	89 44 24 18          	mov    %eax,0x18(%esp)
450730:	8b 41 04             	mov    0x4(%ecx),%eax
450733:	89 44 24 1c          	mov    %eax,0x1c(%esp)
450737:	8b 41 08             	mov    0x8(%ecx),%eax
45073a:	89 44 24 20          	mov    %eax,0x20(%esp)
45073e:	8b 41 0c             	mov    0xc(%ecx),%eax
450741:	8b ca                	mov    %edx,%ecx
450743:	ff 00                	incl   (%eax)
450745:	89 44 24 24          	mov    %eax,0x24(%esp)
450749:	e8 c1 5e fb ff       	call   0x40660f
45074e:	8d 84 24 30 04 00 00 	lea    0x430(%esp),%eax
450755:	50                   	push   %eax
450756:	8d 44 24 34          	lea    0x34(%esp),%eax
45075a:	50                   	push   %eax
45075b:	8d 84 24 38 02 00 00 	lea    0x238(%esp),%eax
450762:	50                   	push   %eax
450763:	8d 84 24 3c 06 01 00 	lea    0x1063c(%esp),%eax
45076a:	50                   	push   %eax
45076b:	ff 74 24 28          	push   0x28(%esp)
45076f:	e8 88 16 fd ff       	call   0x421dfc
450774:	83 c4 14             	add    $0x14,%esp
450777:	8d 84 24 30 02 00 00 	lea    0x230(%esp),%eax
45077e:	50                   	push   %eax
45077f:	8d 84 24 34 06 01 00 	lea    0x10634(%esp),%eax
450786:	50                   	push   %eax
450787:	e8 68 05 fd ff       	call   0x420cf4
45078c:	8d 84 24 38 04 00 00 	lea    0x438(%esp),%eax
450793:	50                   	push   %eax
450794:	8d 44 24 3c          	lea    0x3c(%esp),%eax
450798:	50                   	push   %eax
450799:	e8 56 05 fd ff       	call   0x420cf4
45079e:	83 c4 10             	add    $0x10,%esp
4507a1:	8d 84 24 30 06 00 00 	lea    0x630(%esp),%eax
4507a8:	50                   	push   %eax
4507a9:	68 ff 7f 00 00       	push   $0x7fff
4507ae:	ff 15 20 d3 48 00    	call   *0x48d320
4507b4:	8b 3d 18 d3 48 00    	mov    0x48d318,%edi
4507ba:	8d 84 24 30 06 01 00 	lea    0x10630(%esp),%eax
4507c1:	50                   	push   %eax
4507c2:	ff d7                	call   *%edi
4507c4:	85 c0                	test   %eax,%eax
4507c6:	74 40                	je     0x450808
4507c8:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4507cc:	e8 fa 6a ff ff       	call   0x4472cb
4507d1:	84 c0                	test   %al,%al