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
45f733:	8b c2                	mov    %edx,%eax
45f735:	6a 04                	push   $0x4
45f737:	5a                   	pop    %edx
45f738:	f7 e2                	mul    %edx
45f73a:	0f 90 c1             	seto   %cl
45f73d:	f7 d9                	neg    %ecx
45f73f:	0b c8                	or     %eax,%ecx
45f741:	51                   	push   %ecx
45f742:	e8 a3 fd fb ff       	call   0x41f4ea
45f747:	33 ff                	xor    %edi,%edi
45f749:	59                   	pop    %ecx
45f74a:	89 46 04             	mov    %eax,0x4(%esi)
45f74d:	39 7e 08             	cmp    %edi,0x8(%esi)
45f750:	76 32                	jbe    0x45f784
45f752:	6a 04                	push   $0x4
45f754:	e8 91 fd fb ff       	call   0x41f4ea
45f759:	8b d0                	mov    %eax,%edx
45f75b:	59                   	pop    %ecx
45f75c:	85 d2                	test   %edx,%edx
45f75e:	74 0c                	je     0x45f76c
45f760:	8b 4b 04             	mov    0x4(%ebx),%ecx
45f763:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
45f766:	8b 09                	mov    (%ecx),%ecx
45f768:	89 0a                	mov    %ecx,(%edx)
45f76a:	eb 02                	jmp    0x45f76e
45f76c:	33 d2                	xor    %edx,%edx
45f76e:	8b 46 04             	mov    0x4(%esi),%eax
45f771:	89 14 b8             	mov    %edx,(%eax,%edi,4)
45f774:	47                   	inc    %edi
45f775:	3b 7e 08             	cmp    0x8(%esi),%edi
45f778:	72 d8                	jb     0x45f752
45f77a:	eb 08                	jmp    0x45f784
45f77c:	83 66 0c 00          	andl   $0x0,0xc(%esi)
45f780:	83 66 04 00          	andl   $0x0,0x4(%esi)
45f784:	5f                   	pop    %edi
45f785:	8b c6                	mov    %esi,%eax
45f787:	5e                   	pop    %esi
45f788:	5b                   	pop    %ebx
45f789:	5d                   	pop    %ebp
45f78a:	c2 04 00             	ret    $0x4
45f78d:	55                   	push   %ebp
45f78e:	8b ec                	mov    %esp,%ebp
45f790:	56                   	push   %esi
45f791:	8b f1                	mov    %ecx,%esi
45f793:	57                   	push   %edi
45f794:	33 ff                	xor    %edi,%edi
45f796:	6a 28                	push   $0x28
45f798:	89 7e 04             	mov    %edi,0x4(%esi)
45f79b:	89 7e 08             	mov    %edi,0x8(%esi)
45f79e:	e8 47 fd fb ff       	call   0x41f4ea
45f7a3:	59                   	pop    %ecx
45f7a4:	85 c0                	test   %eax,%eax
45f7a6:	74 0c                	je     0x45f7b4
45f7a8:	ff 75 08             	push   0x8(%ebp)
45f7ab:	8b c8                	mov    %eax,%ecx
45f7ad:	e8 5b 99 fe ff       	call   0x44910d
45f7b2:	8b f8                	mov    %eax,%edi
45f7b4:	89 3e                	mov    %edi,(%esi)
45f7b6:	5f                   	pop    %edi
45f7b7:	8b c6                	mov    %esi,%eax
45f7b9:	5e                   	pop    %esi
45f7ba:	5d                   	pop    %ebp
45f7bb:	c2 04 00             	ret    $0x4
45f7be:	55                   	push   %ebp
45f7bf:	8b ec                	mov    %esp,%ebp
45f7c1:	8b 55 08             	mov    0x8(%ebp),%edx
45f7c4:	8b 02                	mov    (%edx),%eax
45f7c6:	89 01                	mov    %eax,(%ecx)
45f7c8:	8b 42 04             	mov    0x4(%edx),%eax
45f7cb:	89 41 04             	mov    %eax,0x4(%ecx)
45f7ce:	8b 42 08             	mov    0x8(%edx),%eax
45f7d1:	89 41 08             	mov    %eax,0x8(%ecx)
45f7d4:	8b 42 0c             	mov    0xc(%edx),%eax
45f7d7:	89 41 0c             	mov    %eax,0xc(%ecx)
45f7da:	8b 42 10             	mov    0x10(%edx),%eax
45f7dd:	89 41 10             	mov    %eax,0x10(%ecx)
45f7e0:	ff 00                	incl   (%eax)
45f7e2:	8b c1                	mov    %ecx,%eax
45f7e4:	5d                   	pop    %ebp
45f7e5:	c2 04 00             	ret    $0x4
45f7e8:	55                   	push   %ebp
45f7e9:	8b ec                	mov    %esp,%ebp
45f7eb:	8b 55 0c             	mov    0xc(%ebp),%edx
45f7ee:	8b 45 08             	mov    0x8(%ebp),%eax
45f7f1:	89 01                	mov    %eax,(%ecx)
45f7f3:	8b 02                	mov    (%edx),%eax
45f7f5:	89 41 04             	mov    %eax,0x4(%ecx)
45f7f8:	8b 42 04             	mov    0x4(%edx),%eax
45f7fb:	89 41 08             	mov    %eax,0x8(%ecx)
45f7fe:	8b 42 08             	mov    0x8(%edx),%eax
45f801:	89 41 0c             	mov    %eax,0xc(%ecx)
45f804:	8b 42 0c             	mov    0xc(%edx),%eax
45f807:	89 41 10             	mov    %eax,0x10(%ecx)
45f80a:	ff 00                	incl   (%eax)
45f80c:	8b c1                	mov    %ecx,%eax
45f80e:	5d                   	pop    %ebp
45f80f:	c2 08 00             	ret    $0x8
45f812:	33 c0                	xor    %eax,%eax
45f814:	89 41 04             	mov    %eax,0x4(%ecx)
45f817:	89 41 08             	mov    %eax,0x8(%ecx)
45f81a:	89 41 0c             	mov    %eax,0xc(%ecx)
45f81d:	c7 01 04 dc 49 00    	movl   $0x49dc04,(%ecx)
45f823:	8b c1                	mov    %ecx,%eax
45f825:	c3                   	ret
45f826:	56                   	push   %esi
45f827:	8b f1                	mov    %ecx,%esi
45f829:	c7 06 0c 45 4b 00    	movl   $0x4b450c,(%esi)
45f82f:	e8 6f 28 fa ff       	call   0x4020a3
45f834:	ff 76 04             	push   0x4(%esi)
45f837:	e8 22 fd fb ff       	call   0x41f55e
45f83c:	59                   	pop    %ecx
45f83d:	5e                   	pop    %esi
45f83e:	c3                   	ret
45f83f:	56                   	push   %esi
45f840:	8b f1                	mov    %ecx,%esi
45f842:	c7 06 10 45 4b 00    	movl   $0x4b4510,(%esi)
45f848:	e8 14 31 00 00       	call   0x462961
45f84d:	ff 76 04             	push   0x4(%esi)
45f850:	e8 09 fd fb ff       	call   0x41f55e
45f855:	59                   	pop    %ecx
45f856:	5e                   	pop    %esi
45f857:	c3                   	ret
45f858:	56                   	push   %esi
45f859:	8b f1                	mov    %ecx,%esi
45f85b:	e8 93 29 00 00       	call   0x4621f3
45f860:	84 c0                	test   %al,%al
45f862:	74 05                	je     0x45f869
45f864:	8b 46 08             	mov    0x8(%esi),%eax
45f867:	5e                   	pop    %esi
45f868:	c3                   	ret
45f869:	b8 fe e8 43 00       	mov    $0x43e8fe,%eax
45f86e:	5e                   	pop    %esi
45f86f:	c3                   	ret
45f870:	55                   	push   %ebp
45f871:	8b ec                	mov    %esp,%ebp
45f873:	56                   	push   %esi
45f874:	8b f1                	mov    %ecx,%esi
45f876:	e8 ab ff ff ff       	call   0x45f826
45f87b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45f87f:	74 07                	je     0x45f888
45f881:	56                   	push   %esi
45f882:	e8 d7 fc fb ff       	call   0x41f55e
45f887:	59                   	pop    %ecx
45f888:	8b c6                	mov    %esi,%eax
45f88a:	5e                   	pop    %esi
45f88b:	5d                   	pop    %ebp
45f88c:	c2 04 00             	ret    $0x4
45f88f:	55                   	push   %ebp
45f890:	8b ec                	mov    %esp,%ebp
45f892:	56                   	push   %esi
45f893:	8b f1                	mov    %ecx,%esi
45f895:	e8 a5 ff ff ff       	call   0x45f83f
45f89a:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45f89e:	74 07                	je     0x45f8a7
45f8a0:	56                   	push   %esi
45f8a1:	e8 b8 fc fb ff       	call   0x41f55e
45f8a6:	59                   	pop    %ecx
45f8a7:	8b c6                	mov    %esi,%eax
45f8a9:	5e                   	pop    %esi
45f8aa:	5d                   	pop    %ebp
45f8ab:	c2 04 00             	ret    $0x4
45f8ae:	55                   	push   %ebp
45f8af:	8b ec                	mov    %esp,%ebp
45f8b1:	83 e4 f8             	and    $0xfffffff8,%esp
45f8b4:	81 ec 94 03 00 00    	sub    $0x394,%esp
45f8ba:	33 c0                	xor    %eax,%eax
45f8bc:	38 45 10             	cmp    %al,0x10(%ebp)
45f8bf:	53                   	push   %ebx
45f8c0:	0f 95 c0             	setne  %al
45f8c3:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
45f8c8:	56                   	push   %esi
45f8c9:	57                   	push   %edi
45f8ca:	8b 7d 08             	mov    0x8(%ebp),%edi
45f8cd:	8b d9                	mov    %ecx,%ebx
45f8cf:	8b 4f 04             	mov    0x4(%edi),%ecx