53f2e1:	8b ec                	mov    %esp,%ebp
53f2e3:	83 c4 dc             	add    $0xffffffdc,%esp
53f2e6:	53                   	push   %ebx
53f2e7:	56                   	push   %esi
53f2e8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
53f2eb:	c7 45 ec ff ff ff 7f 	movl   $0x7fffffff,-0x14(%ebp)
53f2f2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
53f2f5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
53f2f8:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
53f2ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
53f302:	89 4d f0             	mov    %ecx,-0x10(%ebp)
53f305:	8b 88 24 04 00 00    	mov    0x424(%eax),%ecx
53f30b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
53f30e:	8b 88 28 04 00 00    	mov    0x428(%eax),%ecx
53f314:	89 4d e0             	mov    %ecx,-0x20(%ebp)
53f317:	8b 08                	mov    (%eax),%ecx
53f319:	49                   	dec    %ecx
53f31a:	85 c9                	test   %ecx,%ecx
53f31c:	0f 8c 87 00 00 00    	jl     0x53f3a9
53f322:	41                   	inc    %ecx
53f323:	89 4d dc             	mov    %ecx,-0x24(%ebp)
53f326:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
53f32d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
53f330:	03 c9                	add    %ecx,%ecx
53f332:	8b 58 20             	mov    0x20(%eax),%ebx
53f335:	8d 34 cb             	lea    (%ebx,%ecx,8),%esi
53f338:	8b 0e                	mov    (%esi),%ecx
53f33a:	2b ca                	sub    %edx,%ecx
53f33c:	85 c9                	test   %ecx,%ecx
53f33e:	7d 02                	jge    0x53f342
53f340:	f7 d9                	neg    %ecx
53f342:	8b 5e 04             	mov    0x4(%esi),%ebx
53f345:	2b 5d fc             	sub    -0x4(%ebp),%ebx
53f348:	85 db                	test   %ebx,%ebx
53f34a:	7d 02                	jge    0x53f34e
53f34c:	f7 db                	neg    %ebx
53f34e:	03 cb                	add    %ebx,%ecx
53f350:	8b 5e 08             	mov    0x8(%esi),%ebx
53f353:	2b 5d 08             	sub    0x8(%ebp),%ebx
53f356:	85 db                	test   %ebx,%ebx
53f358:	7d 02                	jge    0x53f35c
53f35a:	f7 db                	neg    %ebx
53f35c:	03 cb                	add    %ebx,%ecx
53f35e:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
53f361:	7d 09                	jge    0x53f36c
53f363:	89 4d ec             	mov    %ecx,-0x14(%ebp)
53f366:	8b 5d f8             	mov    -0x8(%ebp),%ebx
53f369:	89 5d f4             	mov    %ebx,-0xc(%ebp)
53f36c:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
53f36f:	8b 1b                	mov    (%ebx),%ebx
53f371:	c1 eb 0c             	shr    $0xc,%ebx
53f374:	2b cb                	sub    %ebx,%ecx
53f376:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
53f379:	7d 09                	jge    0x53f384
53f37b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
53f37e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
53f381:	89 4d f0             	mov    %ecx,-0x10(%ebp)
53f384:	8b 4d e0             	mov    -0x20(%ebp),%ecx
53f387:	8b 09                	mov    (%ecx),%ecx
53f389:	c1 e9 0a             	shr    $0xa,%ecx
53f38c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
53f38f:	29 0b                	sub    %ecx,(%ebx)
53f391:	83 45 e0 04          	addl   $0x4,-0x20(%ebp)
53f395:	c1 e1 0a             	shl    $0xa,%ecx
53f398:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
53f39b:	01 0b                	add    %ecx,(%ebx)
53f39d:	83 45 e4 04          	addl   $0x4,-0x1c(%ebp)
53f3a1:	ff 45 f8             	incl   -0x8(%ebp)
53f3a4:	ff 4d dc             	decl   -0x24(%ebp)
53f3a7:	75 84                	jne    0x53f32d
53f3a9:	8b 90 28 04 00 00    	mov    0x428(%eax),%edx
53f3af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
53f3b2:	83 04 8a 40          	addl   $0x40,(%edx,%ecx,4)
53f3b6:	8b 80 24 04 00 00    	mov    0x424(%eax),%eax
53f3bc:	8b 55 f4             	mov    -0xc(%ebp),%edx
53f3bf:	81 2c 90 00 00 01 00 	subl   $0x10000,(%eax,%edx,4)
53f3c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
53f3c9:	5e                   	pop    %esi
53f3ca:	5b                   	pop    %ebx
53f3cb:	8b e5                	mov    %ebp,%esp
53f3cd:	5d                   	pop    %ebp
53f3ce:	c2 04 00             	ret    $0x4
53f3d1:	8d 40 00             	lea    0x0(%eax),%eax
53f3d4:	55                   	push   %ebp
53f3d5:	8b ec                	mov    %esp,%ebp
53f3d7:	03 c9                	add    %ecx,%ecx
53f3d9:	8b 40 20             	mov    0x20(%eax),%eax
53f3dc:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
53f3df:	8b 08                	mov    (%eax),%ecx
53f3e1:	2b 4d 10             	sub    0x10(%ebp),%ecx
53f3e4:	0f af ca             	imul   %edx,%ecx
53f3e7:	85 c9                	test   %ecx,%ecx
53f3e9:	79 06                	jns    0x53f3f1
53f3eb:	81 c1 ff 03 00 00    	add    $0x3ff,%ecx
53f3f1:	c1 f9 0a             	sar    $0xa,%ecx
53f3f4:	29 08                	sub    %ecx,(%eax)
53f3f6:	8b 48 04             	mov    0x4(%eax),%ecx
53f3f9:	2b 4d 0c             	sub    0xc(%ebp),%ecx
53f3fc:	0f af ca             	imul   %edx,%ecx
53f3ff:	85 c9                	test   %ecx,%ecx
53f401:	79 06                	jns    0x53f409
53f403:	81 c1 ff 03 00 00    	add    $0x3ff,%ecx
53f409:	c1 f9 0a             	sar    $0xa,%ecx
53f40c:	29 48 04             	sub    %ecx,0x4(%eax)
53f40f:	8b 48 08             	mov    0x8(%eax),%ecx
53f412:	2b 4d 08             	sub    0x8(%ebp),%ecx
53f415:	0f af ca             	imul   %edx,%ecx
53f418:	85 c9                	test   %ecx,%ecx
53f41a:	79 06                	jns    0x53f422
53f41c:	81 c1 ff 03 00 00    	add    $0x3ff,%ecx
53f422:	c1 f9 0a             	sar    $0xa,%ecx
53f425:	29 48 08             	sub    %ecx,0x8(%eax)
53f428:	5d                   	pop    %ebp
53f429:	c2 0c 00             	ret    $0xc
53f42c:	55                   	push   %ebp
53f42d:	8b ec                	mov    %esp,%ebp
53f42f:	83 c4 f0             	add    $0xfffffff0,%esp
53f432:	53                   	push   %ebx
53f433:	56                   	push   %esi
53f434:	89 45 fc             	mov    %eax,-0x4(%ebp)
53f437:	8b c1                	mov    %ecx,%eax
53f439:	2b c2                	sub    %edx,%eax
53f43b:	89 45 f8             	mov    %eax,-0x8(%ebp)
53f43e:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%ebp)
53f442:	7d 07                	jge    0x53f44b
53f444:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
53f44b:	03 d1                	add    %ecx,%edx
53f44d:	89 55 f4             	mov    %edx,-0xc(%ebp)
53f450:	8b 45 fc             	mov    -0x4(%ebp),%eax
53f453:	8b 00                	mov    (%eax),%eax
53f455:	3b 45 f4             	cmp    -0xc(%ebp),%eax
53f458:	7d 06                	jge    0x53f460
53f45a:	8b 55 fc             	mov    -0x4(%ebp),%edx
53f45d:	89 45 f4             	mov    %eax,-0xc(%ebp)
53f460:	8d 71 01             	lea    0x1(%ecx),%esi
53f463:	8b c1                	mov    %ecx,%eax
53f465:	48                   	dec    %eax
53f466:	8b 55 fc             	mov    -0x4(%ebp),%edx
53f469:	8b 92 2c 04 00 00    	mov    0x42c(%edx),%edx
53f46f:	89 55 f0             	mov    %edx,-0x10(%ebp)
53f472:	e9 c1 00 00 00       	jmp    0x53f538
53f477:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
53f47b:	8b 55 f0             	mov    -0x10(%ebp),%edx
53f47e:	8b 0a                	mov    (%edx),%ecx
53f480:	3b 75 f4             	cmp    -0xc(%ebp),%esi
53f483:	7d 57                	jge    0x53f4dc
53f485:	8b d6                	mov    %esi,%edx
53f487:	03 d2                	add    %edx,%edx
53f489:	8b 5d fc             	mov    -0x4(%ebp),%ebx
53f48c:	8b 5b 20             	mov    0x20(%ebx),%ebx
53f48f:	8d 14 d3             	lea    (%ebx,%edx,8),%edx
53f492:	8b 1a                	mov    (%edx),%ebx
53f494:	2b 5d 10             	sub    0x10(%ebp),%ebx
53f497:	0f af d9             	imul   %ecx,%ebx
53f49a:	85 db                	test   %ebx,%ebx
53f49c:	79 06                	jns    0x53f4a4
53f49e:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f4a4:	c1 fb 12             	sar    $0x12,%ebx
53f4a7:	29 1a                	sub    %ebx,(%edx)
53f4a9:	8b 5a 04             	mov    0x4(%edx),%ebx
53f4ac:	2b 5d 0c             	sub    0xc(%ebp),%ebx
53f4af:	0f af d9             	imul   %ecx,%ebx
53f4b2:	85 db                	test   %ebx,%ebx
53f4b4:	79 06                	jns    0x53f4bc
53f4b6:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f4bc:	c1 fb 12             	sar    $0x12,%ebx
53f4bf:	29 5a 04             	sub    %ebx,0x4(%edx)
53f4c2:	8b 5a 08             	mov    0x8(%edx),%ebx
53f4c5:	2b 5d 08             	sub    0x8(%ebp),%ebx
53f4c8:	0f af d9             	imul   %ecx,%ebx
53f4cb:	85 db                	test   %ebx,%ebx
53f4cd:	79 06                	jns    0x53f4d5
53f4cf:	81 c3 ff ff 03 00    	add    $0x3ffff,%ebx
53f4d5:	c1 fb 12             	sar    $0x12,%ebx
53f4d8:	29 5a 08             	sub    %ebx,0x8(%edx)
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)