45141b:	89 50 38             	mov    %edx,0x38(%eax)
45141e:	8b 56 34             	mov    0x34(%esi),%edx
451421:	89 50 3c             	mov    %edx,0x3c(%eax)
451424:	33 c0                	xor    %eax,%eax
451426:	89 46 30             	mov    %eax,0x30(%esi)
451429:	89 46 34             	mov    %eax,0x34(%esi)
45142c:	8b 56 64             	mov    0x64(%esi),%edx
45142f:	8b c6                	mov    %esi,%eax
451431:	e8 3a 10 00 00       	call   0x452470
451436:	8b 46 10             	mov    0x10(%esi),%eax
451439:	e8 3a 26 fb ff       	call   0x403a78
45143e:	8b d3                	mov    %ebx,%edx
451440:	80 e2 fc             	and    $0xfc,%dl
451443:	8b c6                	mov    %esi,%eax
451445:	e8 1e 26 fb ff       	call   0x403a68
45144a:	84 db                	test   %bl,%bl
45144c:	7e 07                	jle    0x451455
45144e:	8b c6                	mov    %esi,%eax
451450:	e8 d7 29 fb ff       	call   0x403e2c
451455:	5e                   	pop    %esi
451456:	5b                   	pop    %ebx
451457:	c3                   	ret
451458:	8b 40 14             	mov    0x14(%eax),%eax
45145b:	8a 40 5b             	mov    0x5b(%eax),%al
45145e:	48                   	dec    %eax
45145f:	2c 02                	sub    $0x2,%al
451461:	73 04                	jae    0x451467
451463:	83 01 0c             	addl   $0xc,(%ecx)
451466:	c3                   	ret
451467:	83 41 04 0c          	addl   $0xc,0x4(%ecx)
45146b:	c3                   	ret
45146c:	ff 40 6c             	incl   0x6c(%eax)
45146f:	c3                   	ret
451470:	ff 48 6c             	decl   0x6c(%eax)
451473:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
451477:	7f 0a                	jg     0x451483
451479:	33 d2                	xor    %edx,%edx
45147b:	89 50 6c             	mov    %edx,0x6c(%eax)
45147e:	e8 6d 18 00 00       	call   0x452cf0
451483:	c3                   	ret
451484:	55                   	push   %ebp
451485:	8b ec                	mov    %esp,%ebp
451487:	53                   	push   %ebx
451488:	8b d8                	mov    %eax,%ebx
45148a:	8b 45 08             	mov    0x8(%ebp),%eax
45148d:	8b 40 fc             	mov    -0x4(%eax),%eax
451490:	3b 43 04             	cmp    0x4(%ebx),%eax
451493:	75 09                	jne    0x45149e
451495:	8b 45 08             	mov    0x8(%ebp),%eax
451498:	89 58 f8             	mov    %ebx,-0x8(%eax)
45149b:	5b                   	pop    %ebx
45149c:	5d                   	pop    %ebp
45149d:	c3                   	ret
45149e:	8b 45 08             	mov    0x8(%ebp),%eax
4514a1:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4514a5:	75 13                	jne    0x4514ba
4514a7:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
4514ab:	74 0d                	je     0x4514ba
4514ad:	8b 45 08             	mov    0x8(%ebp),%eax
4514b0:	50                   	push   %eax
4514b1:	8b 43 0c             	mov    0xc(%ebx),%eax
4514b4:	e8 cb ff ff ff       	call   0x451484
4514b9:	59                   	pop    %ecx
4514ba:	8b 45 08             	mov    0x8(%ebp),%eax
4514bd:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4514c1:	75 13                	jne    0x4514d6
4514c3:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4514c7:	74 0d                	je     0x4514d6
4514c9:	8b 45 08             	mov    0x8(%ebp),%eax
4514cc:	50                   	push   %eax
4514cd:	8b 43 08             	mov    0x8(%ebx),%eax
4514d0:	e8 af ff ff ff       	call   0x451484
4514d5:	59                   	pop    %ecx
4514d6:	5b                   	pop    %ebx
4514d7:	5d                   	pop    %ebp
4514d8:	c3                   	ret
4514d9:	8d 40 00             	lea    0x0(%eax),%eax
4514dc:	55                   	push   %ebp
4514dd:	8b ec                	mov    %esp,%ebp
4514df:	83 c4 f8             	add    $0xfffffff8,%esp
4514e2:	89 55 fc             	mov    %edx,-0x4(%ebp)
4514e5:	33 d2                	xor    %edx,%edx
4514e7:	89 55 f8             	mov    %edx,-0x8(%ebp)
4514ea:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4514ee:	74 10                	je     0x451500
4514f0:	83 78 64 00          	cmpl   $0x0,0x64(%eax)
4514f4:	74 0a                	je     0x451500
4514f6:	55                   	push   %ebp
4514f7:	8b 40 64             	mov    0x64(%eax),%eax
4514fa:	e8 85 ff ff ff       	call   0x451484
4514ff:	59                   	pop    %ecx
451500:	8b 45 f8             	mov    -0x8(%ebp),%eax
451503:	59                   	pop    %ecx
451504:	59                   	pop    %ecx
451505:	5d                   	pop    %ebp
451506:	c3                   	ret
451507:	90                   	nop
451508:	55                   	push   %ebp
451509:	8b ec                	mov    %esp,%ebp
45150b:	53                   	push   %ebx
45150c:	56                   	push   %esi
45150d:	8b d8                	mov    %eax,%ebx
45150f:	8b 45 08             	mov    0x8(%ebp),%eax
451512:	8d 70 08             	lea    0x8(%eax),%esi
451515:	8b d3                	mov    %ebx,%edx
451517:	8b 46 04             	mov    0x4(%esi),%eax
45151a:	ff 16                	call   *(%esi)
45151c:	8b 43 0c             	mov    0xc(%ebx),%eax
45151f:	85 c0                	test   %eax,%eax
451521:	74 0a                	je     0x45152d
451523:	8b 55 08             	mov    0x8(%ebp),%edx
451526:	52                   	push   %edx
451527:	e8 dc ff ff ff       	call   0x451508
45152c:	59                   	pop    %ecx
45152d:	8b 43 08             	mov    0x8(%ebx),%eax
451530:	85 c0                	test   %eax,%eax
451532:	74 0a                	je     0x45153e
451534:	8b 55 08             	mov    0x8(%ebp),%edx
451537:	52                   	push   %edx
451538:	e8 cb ff ff ff       	call   0x451508
45153d:	59                   	pop    %ecx
45153e:	5e                   	pop    %esi
45153f:	5b                   	pop    %ebx
451540:	5d                   	pop    %ebp
451541:	c3                   	ret
451542:	8b c0                	mov    %eax,%eax
451544:	55                   	push   %ebp
451545:	8b ec                	mov    %esp,%ebp
451547:	85 d2                	test   %edx,%edx
451549:	75 03                	jne    0x45154e
45154b:	8b 50 64             	mov    0x64(%eax),%edx
45154e:	55                   	push   %ebp
45154f:	8b c2                	mov    %edx,%eax
451551:	e8 b2 ff ff ff       	call   0x451508
451556:	59                   	pop    %ecx
451557:	5d                   	pop    %ebp
451558:	c2 08 00             	ret    $0x8
45155b:	90                   	nop
45155c:	53                   	push   %ebx
45155d:	56                   	push   %esi
45155e:	57                   	push   %edi
45155f:	83 c4 f0             	add    $0xfffffff0,%esp
451562:	8b f1                	mov    %ecx,%esi
451564:	e8 73 ff ff ff       	call   0x4514dc
451569:	8b d8                	mov    %eax,%ebx
45156b:	85 db                	test   %ebx,%ebx
45156d:	75 10                	jne    0x45157f
45156f:	8b c6                	mov    %esi,%eax
451571:	33 c9                	xor    %ecx,%ecx
451573:	ba 10 00 00 00       	mov    $0x10,%edx
451578:	e8 c3 1c fb ff       	call   0x403240
45157d:	eb 47                	jmp    0x4515c6
45157f:	ba 01 00 00 00       	mov    $0x1,%edx
451584:	8b c3                	mov    %ebx,%eax
451586:	e8 3d f8 ff ff       	call   0x450dc8
45158b:	50                   	push   %eax
45158c:	8d 44 24 04          	lea    0x4(%esp),%eax
451590:	50                   	push   %eax
451591:	ba 02 00 00 00       	mov    $0x2,%edx
451596:	8b c3                	mov    %ebx,%eax
451598:	e8 2b f8 ff ff       	call   0x450dc8
45159d:	50                   	push   %eax
45159e:	ba 01 00 00 00       	mov    $0x1,%edx
4515a3:	8b c3                	mov    %ebx,%eax
4515a5:	e8 b2 f7 ff ff       	call   0x450d5c
4515aa:	50                   	push   %eax
4515ab:	ba 02 00 00 00       	mov    $0x2,%edx
4515b0:	8b c3                	mov    %ebx,%eax
4515b2:	e8 a5 f7 ff ff       	call   0x450d5c
4515b7:	5a                   	pop    %edx
4515b8:	59                   	pop    %ecx
4515b9:	e8 de 90 fc ff       	call   0x41a69c
4515be:	8b fe                	mov    %esi,%edi
4515c0:	8b f4                	mov    %esp,%esi
4515c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4515c6:	83 c4 10             	add    $0x10,%esp
4515c9:	5f                   	pop    %edi
4515ca:	5e                   	pop    %esi
4515cb:	5b                   	pop    %ebx
4515cc:	c3                   	ret
4515cd:	8d 40 00             	lea    0x0(%eax),%eax
4515d0:	e8 fb 06 00 00       	call   0x451cd0
4515d5:	85 c0                	test   %eax,%eax
4515d7:	74 04                	je     0x4515dd
4515d9:	8b 40 04             	mov    0x4(%eax),%eax
4515dc:	c3                   	ret
4515dd:	33 c0                	xor    %eax,%eax
4515df:	c3                   	ret
4515e0:	55                   	push   %ebp
4515e1:	8b ec                	mov    %esp,%ebp
4515e3:	83 c4 d0             	add    $0xffffffd0,%esp
4515e6:	53                   	push   %ebx
4515e7:	56                   	push   %esi
4515e8:	57                   	push   %edi
4515e9:	88 4d ff             	mov    %cl,-0x1(%ebp)
4515ec:	8b f2                	mov    %edx,%esi
4515ee:	8b d8                	mov    %eax,%ebx
4515f0:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
4515f4:	0f 84 ed 01 00 00    	je     0x4517e7
4515fa:	8b 43 38             	mov    0x38(%ebx),%eax
4515fd:	85 c0                	test   %eax,%eax
4515ff:	74 0d                	je     0x45160e
451601:	89 70 04             	mov    %esi,0x4(%eax)
451604:	e8 0f fa ff ff       	call   0x451018
451609:	e9 d1 01 00 00       	jmp    0x4517df
45160e:	8b 43 64             	mov    0x64(%ebx),%eax
451611:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
451615:	0f 85 a3 00 00 00    	jne    0x4516be
45161b:	8d 55 e0             	lea    -0x20(%ebp),%edx
45161e:	8b 43 14             	mov    0x14(%ebx),%eax
451621:	8b 08                	mov    (%eax),%ecx
451623:	ff 51 44             	call   *0x44(%ecx)
451626:	8d 55 e0             	lea    -0x20(%ebp),%edx
451629:	8b 43 14             	mov    0x14(%ebx),%eax
45162c:	8b 08                	mov    (%eax),%ecx
45162e:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
451634:	8b 7d e8             	mov    -0x18(%ebp),%edi
451637:	2b 7d e0             	sub    -0x20(%ebp),%edi
45163a:	8b 45 ec             	mov    -0x14(%ebp),%eax
45163d:	2b 45 e4             	sub    -0x1c(%ebp),%eax
451640:	89 45 f0             	mov    %eax,-0x10(%ebp)
451643:	8b 43 14             	mov    0x14(%ebx),%eax
451646:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
45164a:	74 1d                	je     0x451669
45164c:	85 ff                	test   %edi,%edi
45164e:	75 09                	jne    0x451659
451650:	8b c6                	mov    %esi,%eax
451652:	e8 19 71 ff ff       	call   0x448770
451657:	8b f8                	mov    %eax,%edi
451659:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45165d:	75 0a                	jne    0x451669
45165f:	8b c6                	mov    %esi,%eax
451661:	e8 f6 70 ff ff       	call   0x44875c
451666:	89 45 f0             	mov    %eax,-0x10(%ebp)
451669:	8b 45 f0             	mov    -0x10(%ebp),%eax
45166c:	50                   	push   %eax
45166d:	8d 45 d0             	lea    -0x30(%ebp),%eax
451670:	50                   	push   %eax
451671:	8b cf                	mov    %edi,%ecx
451673:	8b 55 e4             	mov    -0x1c(%ebp),%edx
451676:	8b 45 e0             	mov    -0x20(%ebp),%eax
451679:	e8 1e 90 fc ff       	call   0x41a69c
45167e:	56                   	push   %esi
45167f:	8d 75 d0             	lea    -0x30(%ebp),%esi
451682:	8d 7d e0             	lea    -0x20(%ebp),%edi
451685:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451686:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451687:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451688:	a5                   	movsl  %ds:(%esi),%es:(%edi)
451689:	5e                   	pop    %esi
45168a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45168d:	8b d6                	mov    %esi,%edx
45168f:	8b c3                	mov    %ebx,%eax
451691:	8b 38                	mov    (%eax),%edi
451693:	ff 17                	call   *(%edi)
451695:	8d 55 e0             	lea    -0x20(%ebp),%edx
451698:	8b c6                	mov    %esi,%eax
45169a:	e8 ed 6a ff ff       	call   0x44818c
45169f:	8b cb                	mov    %ebx,%ecx
4516a1:	b2 01                	mov    $0x1,%dl
4516a3:	a1 84 50 44 00       	mov    0x445084,%eax
4516a8:	e8 97 f5 ff ff       	call   0x450c44
4516ad:	8b 53 64             	mov    0x64(%ebx),%edx
4516b0:	89 42 08             	mov    %eax,0x8(%edx)
4516b3:	89 50 14             	mov    %edx,0x14(%eax)
4516b6:	89 70 04             	mov    %esi,0x4(%eax)
4516b9:	e9 21 01 00 00       	jmp    0x4517df
4516be:	8a 45 ff             	mov    -0x1(%ebp),%al
4516c1:	84 c0                	test   %al,%al
4516c3:	74 04                	je     0x4516c9
4516c5:	2c 05                	sub    $0x5,%al
4516c7:	75 04                	jne    0x4516cd
4516c9:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
4516cd:	8b d6                	mov    %esi,%edx
4516cf:	8b c3                	mov    %ebx,%eax
4516d1:	e8 06 fe ff ff       	call   0x4514dc
4516d6:	85 c0                	test   %eax,%eax
4516d8:	74 09                	je     0x4516e3
4516da:	8b d0                	mov    %eax,%edx
4516dc:	8b c3                	mov    %ebx,%eax
4516de:	e8 25 0e 00 00       	call   0x452508
4516e3:	8b 55 08             	mov    0x8(%ebp),%edx
4516e6:	8b c3                	mov    %ebx,%eax
4516e8:	e8 ef fd ff ff       	call   0x4514dc
4516ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
4516f0:	33 c0                	xor    %eax,%eax
4516f2:	8a 45 ff             	mov    -0x1(%ebp),%al
4516f5:	8a 80 84 ac 68 00    	mov    0x68ac84(%eax),%al
4516fb:	88 45 f7             	mov    %al,-0x9(%ebp)
4516fe:	8b 43 64             	mov    0x64(%ebx),%eax
451701:	e8 62 f5 ff ff       	call   0x450c68
451706:	48                   	dec    %eax
451707:	75 6a                	jne    0x451773
451709:	8b 7b 64             	mov    0x64(%ebx),%edi
45170c:	8a 45 f7             	mov    -0x9(%ebp),%al
45170f:	88 47 10             	mov    %al,0x10(%edi)
451712:	8a 45 f7             	mov    -0x9(%ebp),%al
451715:	fe c8                	dec    %al
451717:	74 06                	je     0x45171f
451719:	fe c8                	dec    %al
45171b:	74 2d                	je     0x45174a
45171d:	eb 54                	jmp    0x451773
45171f:	8b 47 08             	mov    0x8(%edi),%eax
451722:	ba 02 00 00 00       	mov    $0x2,%edx
451727:	e8 9c f6 ff ff       	call   0x450dc8
45172c:	8b d0                	mov    %eax,%edx
45172e:	8b c7                	mov    %edi,%eax
451730:	e8 83 fa ff ff       	call   0x4511b8
451735:	8b 43 64             	mov    0x64(%ebx),%eax
451738:	8b 40 08             	mov    0x8(%eax),%eax
45173b:	ba 01 00 00 00       	mov    $0x1,%edx
451740:	e8 83 f6 ff ff       	call   0x450dc8
451745:	89 43 68             	mov    %eax,0x68(%ebx)
451748:	eb 29                	jmp    0x451773
45174a:	8b 47 08             	mov    0x8(%edi),%eax
45174d:	ba 01 00 00 00       	mov    $0x1,%edx
451752:	e8 71 f6 ff ff       	call   0x450dc8
451757:	8b d0                	mov    %eax,%edx
451759:	8b c7                	mov    %edi,%eax
45175b:	e8 58 fa ff ff       	call   0x4511b8
451760:	8b 43 64             	mov    0x64(%ebx),%eax
451763:	8b 40 08             	mov    0x8(%eax),%eax
451766:	ba 02 00 00 00       	mov    $0x2,%edx
45176b:	e8 58 f6 ff ff       	call   0x450dc8
451770:	89 43 68             	mov    %eax,0x68(%ebx)
451773:	8b cb                	mov    %ebx,%ecx
451775:	b2 01                	mov    $0x1,%dl
451777:	a1 84 50 44 00       	mov    0x445084,%eax
45177c:	e8 c3 f4 ff ff       	call   0x450c44
451781:	89 70 04             	mov    %esi,0x4(%eax)
451784:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
451788:	74 0b                	je     0x451795
45178a:	8b 55 f8             	mov    -0x8(%ebp),%edx
45178d:	8b 52 14             	mov    0x14(%edx),%edx
451790:	8a 52 10             	mov    0x10(%edx),%dl
451793:	eb 06                	jmp    0x45179b
451795:	8b 53 64             	mov    0x64(%ebx),%edx
451798:	8a 52 10             	mov    0x10(%edx),%dl
45179b:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
45179f:	75 03                	jne    0x4517a4
4517a1:	88 55 f7             	mov    %dl,-0x9(%ebp)
4517a4:	3a 55 f7             	cmp    -0x9(%ebp),%dl
4517a7:	75 1a                	jne    0x4517c3
4517a9:	33 d2                	xor    %edx,%edx
4517ab:	8a 55 ff             	mov    -0x1(%ebp),%dl
4517ae:	8a 92 8c ac 68 00    	mov    0x68ac8c(%edx),%dl
4517b4:	52                   	push   %edx