53f4db:	46                   	inc    %esi
53f4dc:	3b 45 f8             	cmp    -0x8(%ebp),%eax
53f4df:	7e 57                	jle    0x53f538
53f4e1:	8b d0                	mov    %eax,%edx
53f4e3:	03 d2                	add    %edx,%edx
53f4e5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
53f4e8:	8b 5b 20             	mov    0x20(%ebx),%ebx
53f4eb:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
53f4ee:	8b 1a                	mov    (%edx),%ebx
53f4f0:	2b 5d 10             	sub    0x10(%ebp),%ebx
53f4f3:	0f af d9             	imul   %ecx,%ebx
53f4f6:	85 db                	test   %ebx,%ebx
53f4f8:	79 06                	jns    0x53f500
53f4fa:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f500:	c1 fb 12             	sar    $0x12,%ebx
53f503:	29 1a                	sub    %ebx,(%edx)
53f505:	8b 5a 04             	mov    0x4(%edx),%ebx
53f508:	2b 5d 0c             	sub    0xc(%ebp),%ebx
53f50b:	0f af d9             	imul   %ecx,%ebx
53f50e:	85 db                	test   %ebx,%ebx
53f510:	79 06                	jns    0x53f518
53f512:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f518:	c1 fb 12             	sar    $0x12,%ebx
53f51b:	29 5a 04             	sub    %ebx,0x4(%edx)
53f51e:	8b 5a 08             	mov    0x8(%edx),%ebx
53f521:	2b 5d 08             	sub    0x8(%ebp),%ebx
53f524:	0f af d9             	imul   %ecx,%ebx
53f527:	85 db                	test   %ebx,%ebx
53f529:	79 06                	jns    0x53f531
53f52b:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f531:	c1 fb 12             	sar    $0x12,%ebx
53f534:	29 5a 08             	sub    %ebx,0x8(%edx)
53f537:	48                   	dec    %eax
53f538:	3b 75 f4             	cmp    -0xc(%ebp),%esi
53f53b:	0f 8c 36 ff ff ff    	jl     0x53f477
53f541:	3b 45 f8             	cmp    -0x8(%ebp),%eax
53f544:	0f 8f 2d ff ff ff    	jg     0x53f477
53f54a:	5e                   	pop    %esi
53f54b:	5b                   	pop    %ebx
53f54c:	8b e5                	mov    %ebp,%esp
53f54e:	5d                   	pop    %ebp
53f54f:	c2 0c 00             	ret    $0xc
53f552:	8b c0                	mov    %eax,%eax
53f554:	53                   	push   %ebx
53f555:	56                   	push   %esi
53f556:	57                   	push   %edi
53f557:	55                   	push   %ebp
53f558:	83 c4 d4             	add    $0xffffffd4,%esp
53f55b:	8b f0                	mov    %eax,%esi
53f55d:	8b 46 1c             	mov    0x1c(%esi),%eax
53f560:	48                   	dec    %eax
53f561:	b9 03 00 00 00       	mov    $0x3,%ecx
53f566:	99                   	cltd
53f567:	f7 f9                	idiv   %ecx
53f569:	83 c0 1e             	add    $0x1e,%eax
53f56c:	89 46 10             	mov    %eax,0x10(%esi)
53f56f:	8b 4e 18             	mov    0x18(%esi),%ecx
53f572:	8b c1                	mov    %ecx,%eax
53f574:	bb 03 00 00 00       	mov    $0x3,%ebx
53f579:	99                   	cltd
53f57a:	f7 fb                	idiv   %ebx
53f57c:	89 44 24 28          	mov    %eax,0x28(%esp)
53f580:	8b c1                	mov    %ecx,%eax
53f582:	8b 56 1c             	mov    0x1c(%esi),%edx
53f585:	8d 14 52             	lea    (%edx,%edx,2),%edx
53f588:	8b ca                	mov    %edx,%ecx
53f58a:	99                   	cltd
53f58b:	f7 f9                	idiv   %ecx
53f58d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
53f591:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53f595:	b9 64 00 00 00       	mov    $0x64,%ecx
53f59a:	99                   	cltd
53f59b:	f7 f9                	idiv   %ecx
53f59d:	89 44 24 18          	mov    %eax,0x18(%esp)
53f5a1:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
53f5a6:	75 08                	jne    0x53f5b0
53f5a8:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
53f5af:	00
53f5b0:	c7 44 24 10 00 04 00 	movl   $0x400,0x10(%esp)
53f5b7:	00
53f5b8:	8b 46 0c             	mov    0xc(%esi),%eax
53f5bb:	89 44 24 0c          	mov    %eax,0xc(%esp)
53f5bf:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
53f5c3:	c1 eb 06             	shr    $0x6,%ebx
53f5c6:	83 fb 01             	cmp    $0x1,%ebx
53f5c9:	7f 02                	jg     0x53f5cd
53f5cb:	33 db                	xor    %ebx,%ebx
53f5cd:	8b cb                	mov    %ebx,%ecx
53f5cf:	49                   	dec    %ecx
53f5d0:	85 c9                	test   %ecx,%ecx
53f5d2:	7c 28                	jl     0x53f5fc
53f5d4:	41                   	inc    %ecx
53f5d5:	33 ed                	xor    %ebp,%ebp
53f5d7:	8b fb                	mov    %ebx,%edi
53f5d9:	0f af fb             	imul   %ebx,%edi
53f5dc:	8b c7                	mov    %edi,%eax
53f5de:	8b d5                	mov    %ebp,%edx
53f5e0:	0f af d5             	imul   %ebp,%edx
53f5e3:	2b c2                	sub    %edx,%eax
53f5e5:	c1 e0 08             	shl    $0x8,%eax
53f5e8:	99                   	cltd
53f5e9:	f7 ff                	idiv   %edi
53f5eb:	f7 6c 24 10          	imull  0x10(%esp)
53f5ef:	8b 96 2c 04 00 00    	mov    0x42c(%esi),%edx
53f5f5:	89 04 aa             	mov    %eax,(%edx,%ebp,4)
53f5f8:	45                   	inc    %ebp
53f5f9:	49                   	dec    %ecx
53f5fa:	75 db                	jne    0x53f5d7
53f5fc:	8b 4e 18             	mov    0x18(%esi),%ecx
53f5ff:	8b c1                	mov    %ecx,%eax
53f601:	bf f3 01 00 00       	mov    $0x1f3,%edi
53f606:	99                   	cltd
53f607:	f7 ff                	idiv   %edi
53f609:	85 d2                	test   %edx,%edx
53f60b:	74 0a                	je     0x53f617
53f60d:	c7 44 24 14 f3 01 00 	movl   $0x1f3,0x14(%esp)
53f614:	00
53f615:	eb 38                	jmp    0x53f64f
53f617:	8b c1                	mov    %ecx,%eax
53f619:	bf eb 01 00 00       	mov    $0x1eb,%edi
53f61e:	99                   	cltd
53f61f:	f7 ff                	idiv   %edi
53f621:	85 d2                	test   %edx,%edx
53f623:	74 0a                	je     0x53f62f
53f625:	c7 44 24 14 eb 01 00 	movl   $0x1eb,0x14(%esp)
53f62c:	00
53f62d:	eb 20                	jmp    0x53f64f
53f62f:	8b c1                	mov    %ecx,%eax
53f631:	b9 e7 01 00 00       	mov    $0x1e7,%ecx
53f636:	99                   	cltd
53f637:	f7 f9                	idiv   %ecx
53f639:	85 d2                	test   %edx,%edx
53f63b:	74 0a                	je     0x53f647
53f63d:	c7 44 24 14 e7 01 00 	movl   $0x1e7,0x14(%esp)
53f644:	00
53f645:	eb 08                	jmp    0x53f64f
53f647:	c7 44 24 14 f7 01 00 	movl   $0x1f7,0x14(%esp)
53f64e:	00
53f64f:	33 ed                	xor    %ebp,%ebp
53f651:	33 c0                	xor    %eax,%eax
53f653:	89 44 24 20          	mov    %eax,0x20(%esp)
53f657:	3b 6c 24 1c          	cmp    0x1c(%esp),%ebp
53f65b:	0f 8d 4c 01 00 00    	jge    0x53f7ad
53f661:	8b 8e 30 04 00 00    	mov    0x430(%esi),%ecx
53f667:	8b 44 24 20          	mov    0x20(%esp),%eax
53f66b:	99                   	cltd
53f66c:	f7 f9                	idiv   %ecx
53f66e:	89 44 24 24          	mov    %eax,0x24(%esp)
53f672:	8b be 34 04 00 00    	mov    0x434(%esi),%edi
53f678:	3b 7c 24 24          	cmp    0x24(%esp),%edi
53f67c:	7f 0b                	jg     0x53f689
53f67e:	8b 44 24 24          	mov    0x24(%esp),%eax
53f682:	99                   	cltd
53f683:	f7 ff                	idiv   %edi
53f685:	89 54 24 24          	mov    %edx,0x24(%esp)
53f689:	8b 44 24 20          	mov    0x20(%esp),%eax
53f68d:	99                   	cltd
53f68e:	f7 f9                	idiv   %ecx
53f690:	8b fa                	mov    %edx,%edi
53f692:	3b cf                	cmp    %edi,%ecx
53f694:	7f 07                	jg     0x53f69d
53f696:	8b c7                	mov    %edi,%eax
53f698:	99                   	cltd
53f699:	f7 f9                	idiv   %ecx
53f69b:	8b fa                	mov    %edx,%edi
53f69d:	8b 46 14             	mov    0x14(%esi),%eax
53f6a0:	8b 54 24 24          	mov    0x24(%esp),%edx
53f6a4:	8b 08                	mov    (%eax),%ecx
53f6a6:	ff 11                	call   *(%ecx)
53f6a8:	8d 14 7f             	lea    (%edi,%edi,2),%edx
53f6ab:	03 c2                	add    %edx,%eax
53f6ad:	33 d2                	xor    %edx,%edx
53f6af:	8a 10                	mov    (%eax),%dl
53f6b1:	c1 e2 04             	shl    $0x4,%edx
53f6b4:	89 14 24             	mov    %edx,(%esp)
53f6b7:	33 d2                	xor    %edx,%edx
53f6b9:	8a 50 01             	mov    0x1(%eax),%dl
53f6bc:	c1 e2 04             	shl    $0x4,%edx
53f6bf:	89 54 24 04          	mov    %edx,0x4(%esp)
53f6c3:	0f b6 40 02          	movzbl 0x2(%eax),%eax
53f6c7:	c1 e0 04             	shl    $0x4,%eax
53f6ca:	89 44 24 08          	mov    %eax,0x8(%esp)
53f6ce:	8b 44 24 08          	mov    0x8(%esp),%eax
53f6d2:	50                   	push   %eax
53f6d3:	8b c6                	mov    %esi,%eax
53f6d5:	8b 4c 24 08          	mov    0x8(%esp),%ecx
53f6d9:	8b 54 24 04          	mov    0x4(%esp),%edx
53f6dd:	e8 fe fb ff ff       	call   0x53f2e0
53f6e2:	8b f8                	mov    %eax,%edi
53f6e4:	8b 04 24             	mov    (%esp),%eax
53f6e7:	50                   	push   %eax
53f6e8:	8b 44 24 08          	mov    0x8(%esp),%eax
53f6ec:	50                   	push   %eax
53f6ed:	8b 44 24 10          	mov    0x10(%esp),%eax
53f6f1:	50                   	push   %eax
53f6f2:	8b c6                	mov    %esi,%eax
53f6f4:	8b cf                	mov    %edi,%ecx
53f6f6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
53f6fa:	e8 d5 fc ff ff       	call   0x53f3d4
53f6ff:	85 db                	test   %ebx,%ebx
53f701:	74 19                	je     0x53f71c
53f703:	8b 04 24             	mov    (%esp),%eax
53f706:	50                   	push   %eax
53f707:	8b 44 24 08          	mov    0x8(%esp),%eax
53f70b:	50                   	push   %eax
53f70c:	8b 44 24 10          	mov    0x10(%esp),%eax
53f710:	50                   	push   %eax
53f711:	8b c6                	mov    %esi,%eax
53f713:	8b cf                	mov    %edi,%ecx
53f715:	8b d3                	mov    %ebx,%edx
53f717:	e8 10 fd ff ff       	call   0x53f42c
53f71c:	8b 44 24 14          	mov    0x14(%esp),%eax
53f720:	01 44 24 20          	add    %eax,0x20(%esp)
53f724:	8b 44 24 20          	mov    0x20(%esp),%eax
53f728:	3b 44 24 28          	cmp    0x28(%esp),%eax
53f72c:	7c 08                	jl     0x53f736
53f72e:	8b 44 24 28          	mov    0x28(%esp),%eax
53f732:	29 44 24 20          	sub    %eax,0x20(%esp)
53f736:	45                   	inc    %ebp
53f737:	8b c5                	mov    %ebp,%eax
53f739:	99                   	cltd
53f73a:	f7 7c 24 18          	idivl  0x18(%esp)
53f73e:	85 d2                	test   %edx,%edx
53f740:	75 61                	jne    0x53f7a3
53f742:	8b 44 24 10          	mov    0x10(%esp),%eax
53f746:	99                   	cltd
53f747:	f7 7e 10             	idivl  0x10(%esi)
53f74a:	29 44 24 10          	sub    %eax,0x10(%esp)
53f74e:	8b 44 24 0c          	mov    0xc(%esp),%eax
53f752:	b9 1e 00 00 00       	mov    $0x1e,%ecx
53f757:	99                   	cltd
53f758:	f7 f9                	idiv   %ecx
53f75a:	29 44 24 0c          	sub    %eax,0xc(%esp)
53f75e:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
53f762:	c1 eb 06             	shr    $0x6,%ebx
53f765:	83 fb 01             	cmp    $0x1,%ebx
53f768:	7f 02                	jg     0x53f76c
53f76a:	33 db                	xor    %ebx,%ebx
53f76c:	8b cb                	mov    %ebx,%ecx
53f76e:	49                   	dec    %ecx
53f76f:	85 c9                	test   %ecx,%ecx
53f771:	7c 30                	jl     0x53f7a3
53f773:	41                   	inc    %ecx
53f774:	33 ff                	xor    %edi,%edi
53f776:	8b c3                	mov    %ebx,%eax
53f778:	f7 eb                	imul   %ebx
53f77a:	8b d7                	mov    %edi,%edx
53f77c:	0f af d7             	imul   %edi,%edx
53f77f:	2b c2                	sub    %edx,%eax
53f781:	c1 e0 08             	shl    $0x8,%eax
53f784:	8b d3                	mov    %ebx,%edx
53f786:	0f af d3             	imul   %ebx,%edx
53f789:	51                   	push   %ecx
53f78a:	8b ca                	mov    %edx,%ecx
53f78c:	99                   	cltd
53f78d:	f7 f9                	idiv   %ecx
53f78f:	59                   	pop    %ecx
53f790:	f7 6c 24 10          	imull  0x10(%esp)
53f794:	50                   	push   %eax
53f795:	8b 86 2c 04 00 00    	mov    0x42c(%esi),%eax
53f79b:	5a                   	pop    %edx
53f79c:	89 14 b8             	mov    %edx,(%eax,%edi,4)
53f79f:	47                   	inc    %edi
53f7a0:	49                   	dec    %ecx
53f7a1:	75 d3                	jne    0x53f776
53f7a3:	3b 6c 24 1c          	cmp    0x1c(%esp),%ebp
53f7a7:	0f 8c b4 fe ff ff    	jl     0x53f661
53f7ad:	83 c4 2c             	add    $0x2c,%esp
53f7b0:	5d                   	pop    %ebp
53f7b1:	5f                   	pop    %edi
53f7b2:	5e                   	pop    %esi
53f7b3:	5b                   	pop    %ebx
53f7b4:	c3                   	ret
53f7b5:	8d 40 00             	lea    0x0(%eax),%eax
53f7b8:	55                   	push   %ebp
53f7b9:	8b ec                	mov    %esp,%ebp
53f7bb:	83 c4 f8             	add    $0xfffffff8,%esp
53f7be:	53                   	push   %ebx
53f7bf:	56                   	push   %esi
53f7c0:	57                   	push   %edi
53f7c1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
53f7c4:	89 55 fc             	mov    %edx,-0x4(%ebp)
53f7c7:	8b f8                	mov    %eax,%edi
53f7c9:	b8 38 04 00 00       	mov    $0x438,%eax
53f7ce:	e8 d9 2f ec ff       	call   0x4027ac
53f7d3:	8b d8                	mov    %eax,%ebx
53f7d5:	8b 45 0c             	mov    0xc(%ebp),%eax
53f7d8:	50                   	push   %eax
53f7d9:	8b f3                	mov    %ebx,%esi
53f7db:	8b c6                	mov    %esi,%eax
53f7dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
53f7e0:	8b d7                	mov    %edi,%edx
53f7e2:	e8 cd f6 ff ff       	call   0x53eeb4
53f7e7:	8b c6                	mov    %esi,%eax
53f7e9:	e8 66 fd ff ff       	call   0x53f554
53f7ee:	8b c6                	mov    %esi,%eax
53f7f0:	e8 17 f8 ff ff       	call   0x53f00c
53f7f5:	8b 55 fc             	mov    -0x4(%ebp),%edx
53f7f8:	8b c6                	mov    %esi,%eax
53f7fa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
53f7fd:	e8 42 f8 ff ff       	call   0x53f044
53f802:	8b c6                	mov    %esi,%eax
53f804:	e8 73 f8 ff ff       	call   0x53f07c
53f809:	8b c3                	mov    %ebx,%eax
53f80b:	5f                   	pop    %edi
53f80c:	5e                   	pop    %esi
53f80d:	5b                   	pop    %ebx
53f80e:	59                   	pop    %ecx
53f80f:	59                   	pop    %ecx
53f810:	5d                   	pop    %ebp
53f811:	c2 08 00             	ret    $0x8
53f814:	55                   	push   %ebp
53f815:	8b ec                	mov    %esp,%ebp
53f817:	33 d2                	xor    %edx,%edx
53f819:	8a 55 0a             	mov    0xa(%ebp),%dl
53f81c:	52                   	push   %edx
53f81d:	33 c9                	xor    %ecx,%ecx
53f81f:	8a 4d 09             	mov    0x9(%ebp),%cl
53f822:	33 d2                	xor    %edx,%edx
53f824:	8a 55 08             	mov    0x8(%ebp),%dl
53f827:	e8 a8 f9 ff ff       	call   0x53f1d4
53f82c:	5d                   	pop    %ebp
53f82d:	c2 04 00             	ret    $0x4
53f830:	53                   	push   %ebx
53f831:	56                   	push   %esi
53f832:	8b d8                	mov    %eax,%ebx
53f834:	8b f3                	mov    %ebx,%esi
53f836:	8b c6                	mov    %esi,%eax
53f838:	e8 9f f7 ff ff       	call   0x53efdc
53f83d:	ba 38 04 00 00       	mov    $0x438,%edx
53f842:	8b c6                	mov    %esi,%eax
53f844:	e8 83 2f ec ff       	call   0x4027cc
53f849:	5e                   	pop    %esi
53f84a:	5b                   	pop    %ebx
53f84b:	c3                   	ret
53f84c:	55                   	push   %ebp
53f84d:	8b ec                	mov    %esp,%ebp
53f84f:	53                   	push   %ebx
53f850:	56                   	push   %esi
53f851:	8b ca                	mov    %edx,%ecx
53f853:	49                   	dec    %ecx
53f854:	85 c9                	test   %ecx,%ecx
53f856:	7c 24                	jl     0x53f87c
53f858:	41                   	inc    %ecx
53f859:	33 f6                	xor    %esi,%esi
53f85b:	8d 14 76             	lea    (%esi,%esi,2),%edx
53f85e:	8d 14 10             	lea    (%eax,%edx,1),%edx
53f861:	8a 5a 02             	mov    0x2(%edx),%bl
53f864:	3a 5d 0a             	cmp    0xa(%ebp),%bl
53f867:	75 0f                	jne    0x53f878