45f382:	50                   	push   %eax
45f383:	56                   	push   %esi
45f384:	52                   	push   %edx
45f385:	e8 a6 0a fb ff       	call   0x40fe30
45f38a:	8b 7d fc             	mov    -0x4(%ebp),%edi
45f38d:	85 c0                	test   %eax,%eax
45f38f:	0f 88 9c 00 00 00    	js     0x45f431
45f395:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f398:	e8 e9 de fa ff       	call   0x40d286
45f39d:	85 c0                	test   %eax,%eax
45f39f:	0f 88 a1 00 00 00    	js     0x45f446
45f3a5:	8b 55 08             	mov    0x8(%ebp),%edx
45f3a8:	8b 0e                	mov    (%esi),%ecx
45f3aa:	8b 42 04             	mov    0x4(%edx),%eax
45f3ad:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f3b0:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
45f3b5:	75 7f                	jne    0x45f436
45f3b7:	8d 41 01             	lea    0x1(%ecx),%eax
45f3ba:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f3bd:	89 06                	mov    %eax,(%esi)
45f3bf:	e8 c2 de fa ff       	call   0x40d286
45f3c4:	8b 55 08             	mov    0x8(%ebp),%edx
45f3c7:	89 84 bd e0 fe ff ff 	mov    %eax,-0x120(%ebp,%edi,4)
45f3ce:	8b 4a 04             	mov    0x4(%edx),%ecx
45f3d1:	8b 06                	mov    (%esi),%eax
45f3d3:	6a 4e                	push   $0x4e
45f3d5:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45f3d8:	59                   	pop    %ecx
45f3d9:	47                   	inc    %edi
45f3da:	66 39 48 08          	cmp    %cx,0x8(%eax)
45f3de:	6a ff                	push   $0xffffffff
45f3e0:	59                   	pop    %ecx
45f3e1:	89 7d fc             	mov    %edi,-0x4(%ebp)
45f3e4:	74 85                	je     0x45f36b
45f3e6:	8b 75 10             	mov    0x10(%ebp),%esi
45f3e9:	8b 0e                	mov    (%esi),%ecx
45f3eb:	e8 6c cd fb ff       	call   0x41c15c
45f3f0:	33 ff                	xor    %edi,%edi
45f3f2:	39 7d fc             	cmp    %edi,-0x4(%ebp)
45f3f5:	7e 19                	jle    0x45f410
45f3f7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45f3fa:	ff b4 bd e0 fe ff ff 	push   -0x120(%ebp,%edi,4)
45f401:	8b 0e                	mov    (%esi),%ecx
45f403:	e8 6f cd fb ff       	call   0x41c177
45f408:	47                   	inc    %edi
45f409:	3b fb                	cmp    %ebx,%edi
45f40b:	7c ed                	jl     0x45f3fa
45f40d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45f410:	6a 00                	push   $0x0
45f412:	ff 75 14             	push   0x14(%ebp)
45f415:	ff 36                	push   (%esi)
45f417:	e8 74 27 fb ff       	call   0x411b90
45f41c:	83 c4 0c             	add    $0xc,%esp
45f41f:	89 06                	mov    %eax,(%esi)
45f421:	85 c0                	test   %eax,%eax
45f423:	75 26                	jne    0x45f44b
45f425:	ff 75 f4             	push   -0xc(%ebp)
45f428:	6a 7a                	push   $0x7a
45f42a:	8b cb                	mov    %ebx,%ecx
45f42c:	e8 2b d8 fe ff       	call   0x44cc5c
45f431:	83 ce ff             	or     $0xffffffff,%esi
45f434:	eb 17                	jmp    0x45f44d
45f436:	8b 42 04             	mov    0x4(%edx),%eax
45f439:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45f43d:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45f441:	50                   	push   %eax
45f442:	6a 7b                	push   $0x7b
45f444:	eb e4                	jmp    0x45f42a
45f446:	ff 75 0c             	push   0xc(%ebp)
45f449:	eb f7                	jmp    0x45f442
45f44b:	33 f6                	xor    %esi,%esi
45f44d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f450:	e8 cb 37 fb ff       	call   0x412c20
45f455:	5f                   	pop    %edi
45f456:	8b c6                	mov    %esi,%eax
45f458:	5e                   	pop    %esi
45f459:	5b                   	pop    %ebx
45f45a:	c9                   	leave
45f45b:	c2 10 00             	ret    $0x10
45f45e:	55                   	push   %ebp
45f45f:	8b ec                	mov    %esp,%ebp
45f461:	83 ec 44             	sub    $0x44,%esp
45f464:	53                   	push   %ebx
45f465:	56                   	push   %esi
45f466:	33 f6                	xor    %esi,%esi
45f468:	33 c0                	xor    %eax,%eax
45f46a:	57                   	push   %edi
45f46b:	40                   	inc    %eax
45f46c:	8b f9                	mov    %ecx,%edi
45f46e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f471:	c7 45 e0 50 dc 49 00 	movl   $0x49dc50,-0x20(%ebp)
45f478:	89 75 e4             	mov    %esi,-0x1c(%ebp)
45f47b:	89 75 e8             	mov    %esi,-0x18(%ebp)
45f47e:	89 75 ec             	mov    %esi,-0x14(%ebp)
45f481:	89 75 f0             	mov    %esi,-0x10(%ebp)
45f484:	89 75 f8             	mov    %esi,-0x8(%ebp)
45f487:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f48a:	89 75 c0             	mov    %esi,-0x40(%ebp)
45f48d:	89 75 c8             	mov    %esi,-0x38(%ebp)
45f490:	89 45 cc             	mov    %eax,-0x34(%ebp)
45f493:	e8 5f e3 fa ff       	call   0x40d7f7
45f498:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45f49b:	8b 45 08             	mov    0x8(%ebp),%eax
45f49e:	8b 0b                	mov    (%ebx),%ecx
45f4a0:	8b 40 04             	mov    0x4(%eax),%eax
45f4a3:	6a 47                	push   $0x47
45f4a5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f4a8:	59                   	pop    %ecx
45f4a9:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45f4ad:	66 83 f8 35          	cmp    $0x35,%ax
45f4b1:	74 0d                	je     0x45f4c0
45f4b3:	66 3b c1             	cmp    %cx,%ax
45f4b6:	74 08                	je     0x45f4c0
45f4b8:	ff 75 10             	push   0x10(%ebp)
45f4bb:	e9 e7 00 00 00       	jmp    0x45f5a7
45f4c0:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f4c3:	e8 ad 0c fe ff       	call   0x440175
45f4c8:	8b 45 08             	mov    0x8(%ebp),%eax
45f4cb:	8b 0b                	mov    (%ebx),%ecx
45f4cd:	8b 40 04             	mov    0x4(%eax),%eax
45f4d0:	6a 47                	push   $0x47
45f4d2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45f4d5:	5a                   	pop    %edx
45f4d6:	66 39 50 08          	cmp    %dx,0x8(%eax)
45f4da:	75 14                	jne    0x45f4f0
45f4dc:	8d 41 ff             	lea    -0x1(%ecx),%eax
45f4df:	68 00 dc 49 00       	push   $0x49dc00
45f4e4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f4e7:	89 03                	mov    %eax,(%ebx)
45f4e9:	e8 75 75 fa ff       	call   0x406a63
45f4ee:	eb 0a                	jmp    0x45f4fa
45f4f0:	ff 30                	push   (%eax)
45f4f2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f4f5:	e8 f3 79 fa ff       	call   0x406eed
45f4fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f4fd:	8b 13                	mov    (%ebx),%edx
45f4ff:	8b 41 04             	mov    0x4(%ecx),%eax
45f502:	6a 47                	push   $0x47
45f504:	8b 44 90 04          	mov    0x4(%eax,%edx,4),%eax
45f508:	59                   	pop    %ecx
45f509:	66 39 48 08          	cmp    %cx,0x8(%eax)
45f50d:	8b 4d 08             	mov    0x8(%ebp),%ecx
45f510:	75 2b                	jne    0x45f53d
45f512:	8d 45 e0             	lea    -0x20(%ebp),%eax
45f515:	50                   	push   %eax
45f516:	53                   	push   %ebx
45f517:	51                   	push   %ecx
45f518:	8b cf                	mov    %edi,%ecx
45f51a:	e8 1e d4 ff ff       	call   0x45c93d
45f51f:	85 c0                	test   %eax,%eax
45f521:	79 15                	jns    0x45f538
45f523:	68 d8 41 4b 00       	push   $0x4b41d8
45f528:	51                   	push   %ecx
45f529:	8b cf                	mov    %edi,%ecx
45f52b:	e8 18 d5 fe ff       	call   0x44ca48
45f530:	83 ce ff             	or     $0xffffffff,%esi
45f533:	e9 8d 00 00 00       	jmp    0x45f5c5
45f538:	33 c0                	xor    %eax,%eax
45f53a:	40                   	inc    %eax
45f53b:	eb 07                	jmp    0x45f544
45f53d:	8d 42 01             	lea    0x1(%edx),%eax
45f540:	89 03                	mov    %eax,(%ebx)
45f542:	8b c6                	mov    %esi,%eax
45f544:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45f547:	51                   	push   %ecx
45f548:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f54b:	51                   	push   %ecx
45f54c:	ff 75 d0             	push   -0x30(%ebp)
45f54f:	8b cf                	mov    %edi,%ecx
45f551:	ff 75 10             	push   0x10(%ebp)
45f554:	50                   	push   %eax
45f555:	e8 40 d3 ff ff       	call   0x45c89a
45f55a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45f55d:	e8 1e d6 ff ff       	call   0x45cb80
45f562:	84 c0                	test   %al,%al
45f564:	75 4b                	jne    0x45f5b1
45f566:	c6 45 13 01          	movb   $0x1,0x13(%ebp)
45f56a:	38 87 ac 04 00 00    	cmp    %al,0x4ac(%edi)
45f570:	75 31                	jne    0x45f5a3
45f572:	8d 45 13             	lea    0x13(%ebp),%eax
45f575:	50                   	push   %eax
45f576:	53                   	push   %ebx
45f577:	ff 75 08             	push   0x8(%ebp)
45f57a:	e8 74 f7 ff ff       	call   0x45ecf3
45f57f:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
45f583:	75 1e                	jne    0x45f5a3
45f585:	8b 4d 14             	mov    0x14(%ebp),%ecx
45f588:	68 00 dc 49 00       	push   $0x49dc00
45f58d:	e8 27 d8 fa ff       	call   0x40cdb9
45f592:	8b 07                	mov    (%edi),%eax
45f594:	56                   	push   %esi
45f595:	8b 48 04             	mov    0x4(%eax),%ecx
45f598:	6a 01                	push   $0x1
45f59a:	03 cf                	add    %edi,%ecx
45f59c:	e8 ab d9 fe ff       	call   0x44cf4c
45f5a1:	eb 22                	jmp    0x45f5c5
45f5a3:	8d 45 f0             	lea    -0x10(%ebp),%eax
45f5a6:	50                   	push   %eax
45f5a7:	8b 4d 14             	mov    0x14(%ebp),%ecx
45f5aa:	e8 ff e6 fa ff       	call   0x40dcae
45f5af:	eb 14                	jmp    0x45f5c5
45f5b1:	ff 75 14             	push   0x14(%ebp)
45f5b4:	8d 45 f0             	lea    -0x10(%ebp),%eax
45f5b7:	50                   	push   %eax
45f5b8:	53                   	push   %ebx
45f5b9:	ff 75 08             	push   0x8(%ebp)
45f5bc:	8b cf                	mov    %edi,%ecx
45f5be:	e8 9b fe ff ff       	call   0x45f45e
45f5c3:	8b f0                	mov    %eax,%esi
45f5c5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45f5c8:	e8 6a d5 fa ff       	call   0x40cb37
45f5cd:	8d 4d c0             	lea    -0x40(%ebp),%ecx
45f5d0:	e8 4b 36 fb ff       	call   0x412c20
45f5d5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45f5d8:	e8 43 36 fb ff       	call   0x412c20
45f5dd:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45f5e0:	e8 a7 00 fe ff       	call   0x43f68c
45f5e5:	5f                   	pop    %edi
45f5e6:	8b c6                	mov    %esi,%eax
45f5e8:	5e                   	pop    %esi
45f5e9:	5b                   	pop    %ebx
45f5ea:	c9                   	leave
45f5eb:	c2 10 00             	ret    $0x10
45f5ee:	55                   	push   %ebp
45f5ef:	8b ec                	mov    %esp,%ebp
45f5f1:	83 ec 20             	sub    $0x20,%esp
45f5f4:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
45f5f8:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
45f5fc:	53                   	push   %ebx
45f5fd:	56                   	push   %esi
45f5fe:	57                   	push   %edi
45f5ff:	8b 7d 0c             	mov    0xc(%ebp),%edi
45f602:	83 cb ff             	or     $0xffffffff,%ebx
45f605:	ff 07                	incl   (%edi)
45f607:	53                   	push   %ebx
45f608:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45f60b:	50                   	push   %eax
45f60c:	57                   	push   %edi
45f60d:	ff 75 08             	push   0x8(%ebp)
45f610:	8b f1                	mov    %ecx,%esi
45f612:	89 75 f8             	mov    %esi,-0x8(%ebp)
45f615:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
45f61c:	e8 0f 08 fb ff       	call   0x40fe30
45f621:	8b 45 08             	mov    0x8(%ebp),%eax
45f624:	8b 0f                	mov    (%edi),%ecx
45f626:	8b 50 04             	mov    0x4(%eax),%edx
45f629:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45f62c:	66 83 78 08 4f       	cmpw   $0x4f,0x8(%eax)
45f631:	74 08                	je     0x45f63b
45f633:	8b 44 8a fc          	mov    -0x4(%edx,%ecx,4),%eax
45f637:	8b ce                	mov    %esi,%ecx
45f639:	eb 3f                	jmp    0x45f67a
45f63b:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
45f63f:	8d 41 01             	lea    0x1(%ecx),%eax
45f642:	89 07                	mov    %eax,(%edi)
45f644:	8b 45 10             	mov    0x10(%ebp),%eax
45f647:	0f 94 c2             	sete   %dl
45f64a:	8b 08                	mov    (%eax),%ecx
45f64c:	83 79 0c 0f          	cmpl   $0xf,0xc(%ecx)
45f650:	75 04                	jne    0x45f656
45f652:	8b 09                	mov    (%ecx),%ecx
45f654:	eb 02                	jmp    0x45f658
45f656:	33 c9                	xor    %ecx,%ecx
45f658:	ff 75 18             	push   0x18(%ebp)
45f65b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45f65e:	52                   	push   %edx
45f65f:	50                   	push   %eax
45f660:	e8 39 4e fe ff       	call   0x44449e
45f665:	8b f0                	mov    %eax,%esi
45f667:	85 f6                	test   %esi,%esi
45f669:	75 1d                	jne    0x45f688
45f66b:	8b 45 08             	mov    0x8(%ebp),%eax
45f66e:	8b 0f                	mov    (%edi),%ecx
45f670:	8b 40 04             	mov    0x4(%eax),%eax
45f673:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45f677:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45f67a:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45f67e:	50                   	push   %eax
45f67f:	6a 7b                	push   $0x7b
45f681:	e8 d6 d5 fe ff       	call   0x44cc5c
45f686:	eb 32                	jmp    0x45f6ba
45f688:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
45f68c:	74 25                	je     0x45f6b3
45f68e:	6a 29                	push   $0x29
45f690:	8b ce                	mov    %esi,%ecx
45f692:	e8 55 25 fa ff       	call   0x401bec
45f697:	84 c0                	test   %al,%al
45f699:	74 18                	je     0x45f6b3
45f69b:	8b ce                	mov    %esi,%ecx
45f69d:	e8 ca 9c fa ff       	call   0x40936c
45f6a2:	8b 4e 08             	mov    0x8(%esi),%ecx
45f6a5:	ba 08 36 4b 00       	mov    $0x4b3608,%edx
45f6aa:	e8 80 f5 fb ff       	call   0x41ec2f
45f6af:	84 c0                	test   %al,%al
45f6b1:	75 05                	jne    0x45f6b8
45f6b3:	8b 45 10             	mov    0x10(%ebp),%eax
45f6b6:	89 30                	mov    %esi,(%eax)
45f6b8:	33 db                	xor    %ebx,%ebx
45f6ba:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45f6bd:	e8 5e 35 fb ff       	call   0x412c20
45f6c2:	5f                   	pop    %edi
45f6c3:	5e                   	pop    %esi
45f6c4:	8b c3                	mov    %ebx,%eax
45f6c6:	5b                   	pop    %ebx
45f6c7:	c9                   	leave
45f6c8:	c2 14 00             	ret    $0x14
45f6cb:	55                   	push   %ebp
45f6cc:	8b ec                	mov    %esp,%ebp
45f6ce:	51                   	push   %ecx
45f6cf:	51                   	push   %ecx
45f6d0:	8b 45 08             	mov    0x8(%ebp),%eax
45f6d3:	56                   	push   %esi
45f6d4:	dd 00                	fldl   (%eax)
45f6d6:	57                   	push   %edi
45f6d7:	8d 79 04             	lea    0x4(%ecx),%edi
45f6da:	dd 5d f8             	fstpl  -0x8(%ebp)
45f6dd:	8b cf                	mov    %edi,%ecx
45f6df:	e8 75 3c fa ff       	call   0x403359
45f6e4:	8b f0                	mov    %eax,%esi
45f6e6:	8b ce                	mov    %esi,%ecx
45f6e8:	e8 33 35 fb ff       	call   0x412c20
45f6ed:	dd 45 f8             	fldl   -0x8(%ebp)
45f6f0:	8b cf                	mov    %edi,%ecx
45f6f2:	dd 1e                	fstpl  (%esi)
45f6f4:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
45f6fb:	e8 59 3c fa ff       	call   0x403359
45f700:	5f                   	pop    %edi
45f701:	c6 40 10 00          	movb   $0x0,0x10(%eax)
45f705:	5e                   	pop    %esi
45f706:	c9                   	leave
45f707:	c2 08 00             	ret    $0x8
45f70a:	55                   	push   %ebp
45f70b:	8b ec                	mov    %esp,%ebp
45f70d:	53                   	push   %ebx
45f70e:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f711:	56                   	push   %esi
45f712:	8b f1                	mov    %ecx,%esi
45f714:	57                   	push   %edi
45f715:	c7 06 0c 45 4b 00    	movl   $0x4b450c,(%esi)
45f71b:	8b 43 08             	mov    0x8(%ebx),%eax
45f71e:	89 46 08             	mov    %eax,0x8(%esi)
45f721:	85 c0                	test   %eax,%eax
45f723:	74 57                	je     0x45f77c
45f725:	6a 08                	push   $0x8
45f727:	5a                   	pop    %edx
45f728:	3b c2                	cmp    %edx,%eax
45f72a:	72 02                	jb     0x45f72e
45f72c:	8b d0                	mov    %eax,%edx
45f72e:	89 56 0c             	mov    %edx,0xc(%esi)
45f731:	33 c9                	xor    %ecx,%ecx