452403:	7d 02                	jge    0x452407
452405:	33 d2                	xor    %edx,%edx
452407:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45240b:	75 04                	jne    0x452411
45240d:	33 f6                	xor    %esi,%esi
45240f:	eb 04                	jmp    0x452415
452411:	66 be 01 00          	mov    $0x1,%si
452415:	8b 43 0c             	mov    0xc(%ebx),%eax
452418:	3b d0                	cmp    %eax,%edx
45241a:	74 4d                	je     0x452469
45241c:	89 53 0c             	mov    %edx,0xc(%ebx)
45241f:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
452423:	75 10                	jne    0x452435
452425:	2b c2                	sub    %edx,%eax
452427:	8b d0                	mov    %eax,%edx
452429:	33 c9                	xor    %ecx,%ecx
45242b:	8b 43 04             	mov    0x4(%ebx),%eax
45242e:	e8 e1 eb fe ff       	call   0x441014
452433:	eb 0e                	jmp    0x452443
452435:	8b c8                	mov    %eax,%ecx
452437:	2b ca                	sub    %edx,%ecx
452439:	8b 43 04             	mov    0x4(%ebx),%eax
45243c:	33 d2                	xor    %edx,%edx
45243e:	e8 d1 eb fe ff       	call   0x441014
452443:	8b 43 04             	mov    0x4(%ebx),%eax
452446:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45244a:	74 1d                	je     0x452469
45244c:	e8 ff f6 ff ff       	call   0x451b50
452451:	85 c0                	test   %eax,%eax
452453:	74 14                	je     0x452469
452455:	83 b8 50 02 00 00 00 	cmpl   $0x0,0x250(%eax)
45245c:	74 0b                	je     0x452469
45245e:	8b 80 50 02 00 00    	mov    0x250(%eax),%eax
452464:	8b 10                	mov    (%eax),%edx
452466:	ff 52 0c             	call   *0xc(%edx)
452469:	0f b7 fe             	movzwl %si,%edi
45246c:	57                   	push   %edi
45246d:	8b 43 04             	mov    0x4(%ebx),%eax
452470:	e8 e7 ef fe ff       	call   0x44145c
452475:	50                   	push   %eax
452476:	a1 24 7e 46 00       	mov    0x467e24,%eax
45247b:	8b 00                	mov    (%eax),%eax
45247d:	ff d0                	call   *%eax
45247f:	3b 43 0c             	cmp    0xc(%ebx),%eax
452482:	74 19                	je     0x45249d
452484:	6a ff                	push   $0xffffffff
452486:	8b 43 0c             	mov    0xc(%ebx),%eax
452489:	50                   	push   %eax
45248a:	57                   	push   %edi
45248b:	8b 43 04             	mov    0x4(%ebx),%eax
45248e:	e8 c9 ef fe ff       	call   0x44145c
452493:	50                   	push   %eax
452494:	a1 58 80 46 00       	mov    0x468058,%eax
452499:	8b 00                	mov    (%eax),%eax
45249b:	ff d0                	call   *%eax
45249d:	5f                   	pop    %edi
45249e:	5e                   	pop    %esi
45249f:	5b                   	pop    %ebx
4524a0:	c3                   	ret
4524a1:	8d 40 00             	lea    0x0(%eax),%eax
4524a4:	53                   	push   %ebx
4524a5:	56                   	push   %esi
4524a6:	8b d8                	mov    %eax,%ebx
4524a8:	3b 53 30             	cmp    0x30(%ebx),%edx
4524ab:	74 36                	je     0x4524e3
4524ad:	8b f2                	mov    %edx,%esi
4524af:	85 f6                	test   %esi,%esi
4524b1:	75 18                	jne    0x4524cb
4524b3:	33 c0                	xor    %eax,%eax
4524b5:	8a 43 18             	mov    0x18(%ebx),%al
4524b8:	8b 04 85 28 dd 45 00 	mov    0x45dd28(,%eax,4),%eax
4524bf:	50                   	push   %eax
4524c0:	a1 b4 7d 46 00       	mov    0x467db4,%eax
4524c5:	8b 00                	mov    (%eax),%eax
4524c7:	ff d0                	call   *%eax
4524c9:	8b d0                	mov    %eax,%edx
4524cb:	89 53 30             	mov    %edx,0x30(%ebx)
4524ce:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
4524d2:	8b 43 04             	mov    0x4(%ebx),%eax
4524d5:	e8 7e 05 00 00       	call   0x452a58
4524da:	85 f6                	test   %esi,%esi
4524dc:	75 05                	jne    0x4524e3
4524de:	33 c0                	xor    %eax,%eax
4524e0:	89 43 30             	mov    %eax,0x30(%ebx)
4524e3:	5e                   	pop    %esi
4524e4:	5b                   	pop    %ebx
4524e5:	c3                   	ret
4524e6:	8b c0                	mov    %eax,%eax
4524e8:	3a 50 34             	cmp    0x34(%eax),%dl
4524eb:	74 0f                	je     0x4524fc
4524ed:	88 50 34             	mov    %dl,0x34(%eax)
4524f0:	c6 40 44 01          	movb   $0x1,0x44(%eax)
4524f4:	8b 40 04             	mov    0x4(%eax),%eax
4524f7:	e8 5c 05 00 00       	call   0x452a58
4524fc:	c3                   	ret
4524fd:	8d 40 00             	lea    0x0(%eax),%eax
452500:	3b 50 38             	cmp    0x38(%eax),%edx
452503:	74 0f                	je     0x452514
452505:	89 50 38             	mov    %edx,0x38(%eax)
452508:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45250c:	8b 40 04             	mov    0x4(%eax),%eax
45250f:	e8 44 05 00 00       	call   0x452a58
452514:	c3                   	ret
452515:	8d 40 00             	lea    0x0(%eax),%eax
452518:	8b ca                	mov    %edx,%ecx
45251a:	89 48 10             	mov    %ecx,0x10(%eax)
45251d:	85 c9                	test   %ecx,%ecx
45251f:	7d 05                	jge    0x452526
452521:	33 d2                	xor    %edx,%edx
452523:	89 50 10             	mov    %edx,0x10(%eax)
452526:	8b 40 04             	mov    0x4(%eax),%eax
452529:	e8 2a 05 00 00       	call   0x452a58
45252e:	c3                   	ret
45252f:	90                   	nop
452530:	8b 48 04             	mov    0x4(%eax),%ecx
452533:	c6 81 10 02 00 00 00 	movb   $0x0,0x210(%ecx)
45253a:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
45253e:	e8 d5 ff ff ff       	call   0x452518
452543:	c3                   	ret
452544:	8b 40 04             	mov    0x4(%eax),%eax
452547:	8a 80 10 02 00 00    	mov    0x210(%eax),%al
45254d:	34 01                	xor    $0x1,%al
45254f:	c3                   	ret
452550:	88 50 1c             	mov    %dl,0x1c(%eax)
452553:	8b 40 04             	mov    0x4(%eax),%eax
452556:	e8 fd 04 00 00       	call   0x452a58
45255b:	c3                   	ret
45255c:	55                   	push   %ebp
45255d:	8b ec                	mov    %esp,%ebp
45255f:	53                   	push   %ebx
452560:	56                   	push   %esi
452561:	8b d8                	mov    %eax,%ebx
452563:	8b 75 08             	mov    0x8(%ebp),%esi
452566:	83 c6 fc             	add    $0xfffffffc,%esi
452569:	80 fb 01             	cmp    $0x1,%bl
45256c:	f5                   	cmc
45256d:	1b c0                	sbb    %eax,%eax
45256f:	50                   	push   %eax
452570:	8b 06                	mov    (%esi),%eax
452572:	0f b6 40 34          	movzbl 0x34(%eax),%eax
452576:	8b 04 85 58 dd 45 00 	mov    0x45dd58(,%eax,4),%eax
45257d:	50                   	push   %eax
45257e:	8b 06                	mov    (%esi),%eax
452580:	0f b6 40 18          	movzbl 0x18(%eax),%eax
452584:	8d 04 80             	lea    (%eax,%eax,4),%eax
452587:	8b 04 85 30 dd 45 00 	mov    0x45dd30(,%eax,4),%eax
45258e:	50                   	push   %eax
45258f:	8b 06                	mov    (%esi),%eax
452591:	8b 40 04             	mov    0x4(%eax),%eax
452594:	e8 c3 ee fe ff       	call   0x44145c
452599:	50                   	push   %eax
45259a:	e8 85 37 fd ff       	call   0x425d24
45259f:	8b 06                	mov    (%esi),%eax
4525a1:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4525a5:	7e 29                	jle    0x4525d0
4525a7:	6a 00                	push   $0x0
4525a9:	8b 06                	mov    (%esi),%eax
4525ab:	8b 40 24             	mov    0x24(%eax),%eax
4525ae:	50                   	push   %eax
4525af:	8b 06                	mov    (%esi),%eax
4525b1:	0f b6 40 18          	movzbl 0x18(%eax),%eax
4525b5:	8d 04 80             	lea    (%eax,%eax,4),%eax
4525b8:	8b 04 85 34 dd 45 00 	mov    0x45dd34(,%eax,4),%eax
4525bf:	50                   	push   %eax
4525c0:	8b 06                	mov    (%esi),%eax
4525c2:	8b 40 04             	mov    0x4(%eax),%eax
4525c5:	e8 92 ee fe ff       	call   0x44145c
4525ca:	50                   	push   %eax
4525cb:	e8 54 37 fd ff       	call   0x425d24
4525d0:	8b 06                	mov    (%esi),%eax
4525d2:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
4525d6:	7e 29                	jle    0x452601
4525d8:	6a 00                	push   $0x0
4525da:	8b 06                	mov    (%esi),%eax
4525dc:	8b 40 38             	mov    0x38(%eax),%eax
4525df:	50                   	push   %eax
4525e0:	8b 06                	mov    (%esi),%eax
4525e2:	0f b6 40 18          	movzbl 0x18(%eax),%eax
4525e6:	8d 04 80             	lea    (%eax,%eax,4),%eax
4525e9:	8b 04 85 38 dd 45 00 	mov    0x45dd38(,%eax,4),%eax
4525f0:	50                   	push   %eax
4525f1:	8b 06                	mov    (%esi),%eax
4525f3:	8b 40 04             	mov    0x4(%eax),%eax
4525f6:	e8 61 ee fe ff       	call   0x44145c
4525fb:	50                   	push   %eax
4525fc:	e8 23 37 fd ff       	call   0x425d24
452601:	8b 06                	mov    (%esi),%eax
452603:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
452607:	7e 29                	jle    0x452632
452609:	6a 00                	push   $0x0
45260b:	8b 06                	mov    (%esi),%eax
45260d:	8b 40 30             	mov    0x30(%eax),%eax
452610:	50                   	push   %eax
452611:	8b 06                	mov    (%esi),%eax
452613:	0f b6 40 18          	movzbl 0x18(%eax),%eax
452617:	8d 04 80             	lea    (%eax,%eax,4),%eax
45261a:	8b 04 85 3c dd 45 00 	mov    0x45dd3c(,%eax,4),%eax
452621:	50                   	push   %eax
452622:	8b 06                	mov    (%esi),%eax
452624:	8b 40 04             	mov    0x4(%eax),%eax
452627:	e8 30 ee fe ff       	call   0x44145c
45262c:	50                   	push   %eax
45262d:	e8 f2 36 fd ff       	call   0x425d24
452632:	6a 00                	push   $0x0
452634:	8b 06                	mov    (%esi),%eax
452636:	8b 40 28             	mov    0x28(%eax),%eax
452639:	e8 1a a0 fc ff       	call   0x41c658
45263e:	50                   	push   %eax
45263f:	8b 06                	mov    (%esi),%eax
452641:	0f b6 40 18          	movzbl 0x18(%eax),%eax
452645:	8d 04 80             	lea    (%eax,%eax,4),%eax
452648:	8b 04 85 40 dd 45 00 	mov    0x45dd40(,%eax,4),%eax
45264f:	50                   	push   %eax
452650:	8b 06                	mov    (%esi),%eax
452652:	8b 40 04             	mov    0x4(%eax),%eax
452655:	e8 02 ee fe ff       	call   0x44145c
45265a:	50                   	push   %eax
45265b:	e8 c4 36 fd ff       	call   0x425d24
452660:	5e                   	pop    %esi
452661:	5b                   	pop    %ebx
452662:	5d                   	pop    %ebp
452663:	c3                   	ret
452664:	55                   	push   %ebp
452665:	8b ec                	mov    %esp,%ebp
452667:	83 c4 dc             	add    $0xffffffdc,%esp
45266a:	53                   	push   %ebx
45266b:	56                   	push   %esi
45266c:	57                   	push   %edi
45266d:	88 4d fa             	mov    %cl,-0x6(%ebp)
452670:	88 55 fb             	mov    %dl,-0x5(%ebp)
452673:	89 45 fc             	mov    %eax,-0x4(%ebp)
452676:	8d 75 fc             	lea    -0x4(%ebp),%esi
452679:	8b 06                	mov    (%esi),%eax
45267b:	33 d2                	xor    %edx,%edx
45267d:	89 50 14             	mov    %edx,0x14(%eax)
452680:	33 db                	xor    %ebx,%ebx
452682:	8b 06                	mov    (%esi),%eax
452684:	80 78 18 01          	cmpb   $0x1,0x18(%eax)
452688:	75 04                	jne    0x45268e
45268a:	66 bb 01 00          	mov    $0x1,%bx
45268e:	8b 06                	mov    (%esi),%eax
452690:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
452694:	74 24                	je     0x4526ba
452696:	8a 4d fa             	mov    -0x6(%ebp),%cl
452699:	8a 55 fb             	mov    -0x5(%ebp),%dl
45269c:	8b 06                	mov    (%esi),%eax
45269e:	e8 d5 f8 ff ff       	call   0x451f78
4526a3:	8b 16                	mov    (%esi),%edx
4526a5:	8b 7a 10             	mov    0x10(%edx),%edi
4526a8:	2b f8                	sub    %eax,%edi
4526aa:	8b 06                	mov    (%esi),%eax
4526ac:	89 78 14             	mov    %edi,0x14(%eax)
4526af:	85 ff                	test   %edi,%edi
4526b1:	7d 07                	jge    0x4526ba
4526b3:	8b 06                	mov    (%esi),%eax
4526b5:	33 d2                	xor    %edx,%edx
4526b7:	89 50 14             	mov    %edx,0x14(%eax)
4526ba:	c7 45 de 1c 00 00 00 	movl   $0x1c,-0x22(%ebp)
4526c1:	c7 45 e2 17 00 00 00 	movl   $0x17,-0x1e(%ebp)
4526c8:	33 c0                	xor    %eax,%eax
4526ca:	89 45 e6             	mov    %eax,-0x1a(%ebp)
4526cd:	8b 06                	mov    (%esi),%eax
4526cf:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4526d3:	7e 0a                	jle    0x4526df
4526d5:	8b 06                	mov    (%esi),%eax
4526d7:	8b 40 10             	mov    0x10(%eax),%eax
4526da:	89 45 ea             	mov    %eax,-0x16(%ebp)
4526dd:	eb 05                	jmp    0x4526e4
4526df:	33 c0                	xor    %eax,%eax
4526e1:	89 45 ea             	mov    %eax,-0x16(%ebp)
4526e4:	8a 4d fa             	mov    -0x6(%ebp),%cl
4526e7:	8a 55 fb             	mov    -0x5(%ebp),%dl
4526ea:	8b 06                	mov    (%esi),%eax
4526ec:	e8 87 f8 ff ff       	call   0x451f78
4526f1:	40                   	inc    %eax
4526f2:	89 45 ee             	mov    %eax,-0x12(%ebp)
4526f5:	8b 06                	mov    (%esi),%eax
4526f7:	8b 40 0c             	mov    0xc(%eax),%eax
4526fa:	89 45 f2             	mov    %eax,-0xe(%ebp)
4526fd:	89 45 f6             	mov    %eax,-0xa(%ebp)
452700:	55                   	push   %ebp
452701:	8b 06                	mov    (%esi),%eax
452703:	8a 40 44             	mov    0x44(%eax),%al
452706:	e8 51 fe ff ff       	call   0x45255c
45270b:	59                   	pop    %ecx
45270c:	8b 06                	mov    (%esi),%eax
45270e:	c6 40 44 00          	movb   $0x0,0x44(%eax)
452712:	6a ff                	push   $0xffffffff
452714:	8d 45 de             	lea    -0x22(%ebp),%eax
452717:	50                   	push   %eax
452718:	0f b7 c3             	movzwl %bx,%eax
45271b:	50                   	push   %eax
45271c:	8b 06                	mov    (%esi),%eax
45271e:	8b 40 04             	mov    0x4(%eax),%eax
452721:	e8 36 ed fe ff       	call   0x44145c
452726:	50                   	push   %eax
452727:	a1 f8 7e 46 00       	mov    0x467ef8,%eax
45272c:	8b 00                	mov    (%eax),%eax
45272e:	ff d0                	call   *%eax
452730:	8b 06                	mov    (%esi),%eax
452732:	8b 50 0c             	mov    0xc(%eax),%edx
452735:	8b 06                	mov    (%esi),%eax
452737:	e8 a4 fc ff ff       	call   0x4523e0
45273c:	33 c9                	xor    %ecx,%ecx
45273e:	b2 01                	mov    $0x1,%dl
452740:	8b 06                	mov    (%esi),%eax
452742:	e8 31 f8 ff ff       	call   0x451f78
452747:	8d 04 c0             	lea    (%eax,%eax,8),%eax
45274a:	b9 0a 00 00 00       	mov    $0xa,%ecx
45274f:	99                   	cltd
452750:	f7 f9                	idiv   %ecx
452752:	8b d8                	mov    %eax,%ebx
452754:	8b 06                	mov    (%esi),%eax
452756:	66 89 58 0a          	mov    %bx,0xa(%eax)
45275a:	8b 06                	mov    (%esi),%eax
45275c:	80 78 1f 00          	cmpb   $0x0,0x1f(%eax)
452760:	74 12                	je     0x452774
452762:	0f b7 c3             	movzwl %bx,%eax
452765:	b9 0a 00 00 00       	mov    $0xa,%ecx
45276a:	33 d2                	xor    %edx,%edx
45276c:	f7 f1                	div    %ecx
45276e:	8b 16                	mov    (%esi),%edx
452770:	66 89 42 08          	mov    %ax,0x8(%edx)
452774:	5f                   	pop    %edi
452775:	5e                   	pop    %esi
452776:	5b                   	pop    %ebx
452777:	8b e5                	mov    %ebp,%esp
452779:	5d                   	pop    %ebp
45277a:	c3                   	ret
45277b:	90                   	nop
45277c:	53                   	push   %ebx
45277d:	56                   	push   %esi
45277e:	84 d2                	test   %dl,%dl
452780:	74 08                	je     0x45278a
452782:	83 c4 f0             	add    $0xfffffff0,%esp
452785:	e8 06 0e fb ff       	call   0x403590
45278a:	8b da                	mov    %edx,%ebx
45278c:	8b f0                	mov    %eax,%esi
45278e:	33 d2                	xor    %edx,%edx
452790:	8b c6                	mov    %esi,%eax
452792:	e8 f1 a9 fe ff       	call   0x43d188
452797:	8b 46 50             	mov    0x50(%esi),%eax
45279a:	0b 05 f0 27 45 00    	or     0x4527f0,%eax
4527a0:	89 46 50             	mov    %eax,0x50(%esi)
4527a3:	6a 00                	push   $0x0
4527a5:	8b ce                	mov    %esi,%ecx
4527a7:	b2 01                	mov    $0x1,%dl
4527a9:	a1 54 f9 44 00       	mov    0x44f954,%eax
4527ae:	e8 45 f4 ff ff       	call   0x451bf8
4527b3:	89 86 08 02 00 00    	mov    %eax,0x208(%esi)