57a2c6:	89 46 08             	mov    %eax,0x8(%esi)
57a2c9:	33 c0                	xor    %eax,%eax
57a2cb:	89 46 10             	mov    %eax,0x10(%esi)
57a2ce:	33 c0                	xor    %eax,%eax
57a2d0:	89 46 14             	mov    %eax,0x14(%esi)
57a2d3:	c7 46 18 08 00 00 00 	movl   $0x8,0x18(%esi)
57a2da:	8b c2                	mov    %edx,%eax
57a2dc:	5a                   	pop    %edx
57a2dd:	5e                   	pop    %esi
57a2de:	c3                   	ret
57a2df:	90                   	nop
57a2e0:	53                   	push   %ebx
57a2e1:	56                   	push   %esi
57a2e2:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
57a2e6:	75 17                	jne    0x57a2ff
57a2e8:	8b 0a                	mov    (%edx),%ecx
57a2ea:	8b 18                	mov    (%eax),%ebx
57a2ec:	8b 5b 10             	mov    0x10(%ebx),%ebx
57a2ef:	0f b6 0c 0b          	movzbl (%ebx,%ecx,1),%ecx
57a2f3:	89 4a 0c             	mov    %ecx,0xc(%edx)
57a2f6:	ff 02                	incl   (%edx)
57a2f8:	c7 42 08 08 00 00 00 	movl   $0x8,0x8(%edx)
57a2ff:	b9 08 00 00 00       	mov    $0x8,%ecx
57a304:	2b 4a 08             	sub    0x8(%edx),%ecx
57a307:	8b 5a 0c             	mov    0xc(%edx),%ebx
57a30a:	d3 eb                	shr    %cl,%ebx
57a30c:	eb 1e                	jmp    0x57a32c
57a30e:	8b 0a                	mov    (%edx),%ecx
57a310:	8b 30                	mov    (%eax),%esi
57a312:	8b 76 10             	mov    0x10(%esi),%esi
57a315:	0f b6 0c 0e          	movzbl (%esi,%ecx,1),%ecx
57a319:	89 4a 0c             	mov    %ecx,0xc(%edx)
57a31c:	ff 02                	incl   (%edx)
57a31e:	8b 4a 08             	mov    0x8(%edx),%ecx
57a321:	8b 72 0c             	mov    0xc(%edx),%esi
57a324:	d3 e6                	shl    %cl,%esi
57a326:	0b de                	or     %esi,%ebx
57a328:	83 42 08 08          	addl   $0x8,0x8(%edx)
57a32c:	8b 4a 20             	mov    0x20(%edx),%ecx
57a32f:	3b 4a 08             	cmp    0x8(%edx),%ecx
57a332:	7f da                	jg     0x57a30e
57a334:	8b 42 20             	mov    0x20(%edx),%eax
57a337:	29 42 08             	sub    %eax,0x8(%edx)
57a33a:	8b 42 20             	mov    0x20(%edx),%eax
57a33d:	66 8b 04 45 00 33 6a 	mov    0x6a3300(,%eax,2),%ax
57a344:	00
57a345:	66 23 c3             	and    %bx,%ax
57a348:	5e                   	pop    %esi
57a349:	5b                   	pop    %ebx
57a34a:	c3                   	ret
57a34b:	90                   	nop
57a34c:	55                   	push   %ebp
57a34d:	8b ec                	mov    %esp,%ebp
57a34f:	53                   	push   %ebx
57a350:	56                   	push   %esi
57a351:	8b 55 08             	mov    0x8(%ebp),%edx
57a354:	81 c2 cc af ff ff    	add    $0xffffafcc,%edx
57a35a:	eb 2c                	jmp    0x57a388
57a35c:	0f b7 08             	movzwl (%eax),%ecx
57a35f:	8b 5d 08             	mov    0x8(%ebp),%ebx
57a362:	8a 8c 8b d0 bf ff ff 	mov    -0x4030(%ebx,%ecx,4),%cl
57a369:	8b 1a                	mov    (%edx),%ebx
57a36b:	8b 75 08             	mov    0x8(%ebp),%esi
57a36e:	88 8c 1e d0 af ff ff 	mov    %cl,-0x5030(%esi,%ebx,1)
57a375:	ff 02                	incl   (%edx)
57a377:	0f b7 08             	movzwl (%eax),%ecx
57a37a:	8b 5d 08             	mov    0x8(%ebp),%ebx
57a37d:	66 8b 8c 8b cc 6f ff 	mov    -0x9034(%ebx,%ecx,4),%cx
57a384:	ff
57a385:	66 89 08             	mov    %cx,(%eax)
57a388:	66 8b 08             	mov    (%eax),%cx
57a38b:	8b 5d 08             	mov    0x8(%ebp),%ebx
57a38e:	66 3b 4b fc          	cmp    -0x4(%ebx),%cx
57a392:	77 c8                	ja     0x57a35c
57a394:	8b 0a                	mov    (%edx),%ecx
57a396:	8b 5d 08             	mov    0x8(%ebp),%ebx
57a399:	8d 8c 0b d0 af ff ff 	lea    -0x5030(%ebx,%ecx,1),%ecx
57a3a0:	51                   	push   %ecx
57a3a1:	66 8b 00             	mov    (%eax),%ax
57a3a4:	59                   	pop    %ecx
57a3a5:	88 01                	mov    %al,(%ecx)
57a3a7:	ff 02                	incl   (%edx)
57a3a9:	5e                   	pop    %esi
57a3aa:	5b                   	pop    %ebx
57a3ab:	5d                   	pop    %ebp
57a3ac:	c3                   	ret
57a3ad:	8d 40 00             	lea    0x0(%eax),%eax
57a3b0:	55                   	push   %ebp
57a3b1:	8b ec                	mov    %esp,%ebp
57a3b3:	53                   	push   %ebx
57a3b4:	56                   	push   %esi
57a3b5:	57                   	push   %edi
57a3b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
57a3b9:	81 c3 c2 6f ff ff    	add    $0xffff6fc2,%ebx
57a3bf:	8b 75 08             	mov    0x8(%ebp),%esi
57a3c2:	83 c6 d0             	add    $0xffffffd0,%esi
57a3c5:	8b 7d 08             	mov    0x8(%ebp),%edi
57a3c8:	81 c7 cc af ff ff    	add    $0xffffafcc,%edi
57a3ce:	83 3f 00             	cmpl   $0x0,(%edi)
57a3d1:	0f 8e 99 00 00 00    	jle    0x57a470
57a3d7:	ff 0f                	decl   (%edi)
57a3d9:	8b 46 10             	mov    0x10(%esi),%eax
57a3dc:	8b 55 08             	mov    0x8(%ebp),%edx
57a3df:	3b 82 c8 6f ff ff    	cmp    -0x9038(%edx),%eax
57a3e5:	7d 17                	jge    0x57a3fe
57a3e7:	8b 07                	mov    (%edi),%eax
57a3e9:	8b 55 08             	mov    0x8(%ebp),%edx
57a3ec:	8a 84 02 d0 af ff ff 	mov    -0x5030(%edx,%eax,1),%al
57a3f3:	8b 55 08             	mov    0x8(%ebp),%edx
57a3f6:	8b 92 c4 6f ff ff    	mov    -0x903c(%edx),%edx
57a3fc:	88 02                	mov    %al,(%edx)
57a3fe:	8b 45 08             	mov    0x8(%ebp),%eax
57a401:	ff 80 c4 6f ff ff    	incl   -0x903c(%eax)
57a407:	66 ff 03             	incw   (%ebx)
57a40a:	0f b7 03             	movzwl (%ebx),%eax
57a40d:	8b 55 08             	mov    0x8(%ebp),%edx
57a410:	3b 82 bc 6f ff ff    	cmp    -0x9044(%edx),%eax
57a416:	7e 4f                	jle    0x57a467
57a418:	8b 45 08             	mov    0x8(%ebp),%eax
57a41b:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
57a41f:	75 05                	jne    0x57a426
57a421:	ff 46 10             	incl   0x10(%esi)
57a424:	eb 1b                	jmp    0x57a441
57a426:	8d 46 18             	lea    0x18(%esi),%eax
57a429:	50                   	push   %eax
57a42a:	8d 4e 14             	lea    0x14(%esi),%ecx
57a42d:	8b 45 08             	mov    0x8(%ebp),%eax
57a430:	8b 90 c8 6f ff ff    	mov    -0x9038(%eax),%edx
57a436:	8b 46 10             	mov    0x10(%esi),%eax
57a439:	e8 22 fe ff ff       	call   0x57a260
57a43e:	89 46 10             	mov    %eax,0x10(%esi)
57a441:	66 c7 03 01 00       	movw   $0x1,(%ebx)
57a446:	8b 46 10             	mov    0x10(%esi),%eax
57a449:	8b 55 08             	mov    0x8(%ebp),%edx
57a44c:	f7 aa bc 6f ff ff    	imull  -0x9044(%edx)
57a452:	8b 55 08             	mov    0x8(%ebp),%edx
57a455:	03 42 08             	add    0x8(%edx),%eax
57a458:	0f b7 13             	movzwl (%ebx),%edx
57a45b:	03 c2                	add    %edx,%eax
57a45d:	48                   	dec    %eax
57a45e:	8b 55 08             	mov    0x8(%ebp),%edx
57a461:	89 82 c4 6f ff ff    	mov    %eax,-0x903c(%edx)
57a467:	83 3f 00             	cmpl   $0x0,(%edi)
57a46a:	0f 8f 67 ff ff ff    	jg     0x57a3d7
57a470:	5f                   	pop    %edi
57a471:	5e                   	pop    %esi
57a472:	5b                   	pop    %ebx
57a473:	5d                   	pop    %ebp
57a474:	c3                   	ret
57a475:	8d 40 00             	lea    0x0(%eax),%eax
57a478:	55                   	push   %ebp
57a479:	8b ec                	mov    %esp,%ebp
57a47b:	66 8b 00             	mov    (%eax),%ax
57a47e:	66 3b 02             	cmp    (%edx),%ax
57a481:	72 17                	jb     0x57a49a
57a483:	8b 45 08             	mov    0x8(%ebp),%eax
57a486:	83 78 f0 0c          	cmpl   $0xc,-0x10(%eax)
57a48a:	7d 0b                	jge    0x57a497
57a48c:	66 d1 22             	shlw   $1,(%edx)
57a48f:	8b 45 08             	mov    0x8(%ebp),%eax
57a492:	ff 40 f0             	incl   -0x10(%eax)
57a495:	eb 03                	jmp    0x57a49a
57a497:	c6 01 01             	movb   $0x1,(%ecx)
57a49a:	5d                   	pop    %ebp
57a49b:	c3                   	ret
57a49c:	55                   	push   %ebp
57a49d:	8b ec                	mov    %esp,%ebp
57a49f:	50                   	push   %eax
57a4a0:	b8 09 00 00 00       	mov    $0x9,%eax
57a4a5:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
57a4ab:	50                   	push   %eax
57a4ac:	48                   	dec    %eax
57a4ad:	75 f6                	jne    0x57a4a5
57a4af:	8b 45 fc             	mov    -0x4(%ebp),%eax
57a4b2:	83 c4 9c             	add    $0xffffff9c,%esp
57a4b5:	53                   	push   %ebx
57a4b6:	56                   	push   %esi
57a4b7:	57                   	push   %edi
57a4b8:	89 8d bc 6f ff ff    	mov    %ecx,-0x9044(%ebp)
57a4be:	89 95 c8 6f ff ff    	mov    %edx,-0x9038(%ebp)
57a4c4:	89 85 b8 6f ff ff    	mov    %eax,-0x9048(%ebp)
57a4ca:	8d 9d a7 6f ff ff    	lea    -0x9059(%ebp),%ebx
57a4d0:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a4d6:	e8 dd 41 ea ff       	call   0x41e6b8
57a4db:	89 85 98 6f ff ff    	mov    %eax,-0x9068(%ebp)
57a4e1:	89 95 9c 6f ff ff    	mov    %edx,-0x9064(%ebp)
57a4e7:	8d 95 b7 6f ff ff    	lea    -0x9049(%ebp),%edx
57a4ed:	b9 01 00 00 00       	mov    $0x1,%ecx
57a4f2:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a4f8:	8b 30                	mov    (%eax),%esi
57a4fa:	ff 56 08             	call   *0x8(%esi)
57a4fd:	8b 45 08             	mov    0x8(%ebp),%eax
57a500:	89 85 c4 6f ff ff    	mov    %eax,-0x903c(%ebp)
57a506:	8d 55 d0             	lea    -0x30(%ebp),%edx
57a509:	8a 85 b7 6f ff ff    	mov    -0x9049(%ebp),%al
57a50f:	e8 70 fd ff ff       	call   0x57a284
57a514:	84 c0                	test   %al,%al
57a516:	75 1c                	jne    0x57a534
57a518:	ff b5 9c 6f ff ff    	push   -0x9064(%ebp)
57a51e:	ff b5 98 6f ff ff    	push   -0x9068(%ebp)
57a524:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a52a:	e8 a9 41 ea ff       	call   0x41e6d8
57a52f:	e9 20 03 00 00       	jmp    0x57a854
57a534:	33 c0                	xor    %eax,%eax
57a536:	89 45 d4             	mov    %eax,-0x2c(%ebp)
57a539:	b2 01                	mov    $0x1,%dl
57a53b:	a1 1c fa 5e 00       	mov    0x5efa1c,%eax
57a540:	e8 53 72 07 00       	call   0x5f1798
57a545:	89 85 b0 6f ff ff    	mov    %eax,-0x9050(%ebp)
57a54b:	8b d3                	mov    %ebx,%edx
57a54d:	b9 01 00 00 00       	mov    $0x1,%ecx
57a552:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a558:	8b 30                	mov    (%eax),%esi
57a55a:	ff 56 08             	call   *0x8(%esi)
57a55d:	85 c0                	test   %eax,%eax
57a55f:	74 24                	je     0x57a585
57a561:	80 3b 00             	cmpb   $0x0,(%ebx)
57a564:	74 1f                	je     0x57a585
57a566:	33 c9                	xor    %ecx,%ecx
57a568:	8a 0b                	mov    (%ebx),%cl
57a56a:	8b 95 b8 6f ff ff    	mov    -0x9048(%ebp),%edx
57a570:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a576:	e8 31 73 07 00       	call   0x5f18ac
57a57b:	25 ff 00 00 00       	and    $0xff,%eax
57a580:	01 45 d4             	add    %eax,-0x2c(%ebp)
57a583:	eb c6                	jmp    0x57a54b
57a585:	33 c0                	xor    %eax,%eax
57a587:	89 45 d0             	mov    %eax,-0x30(%ebp)
57a58a:	33 f6                	xor    %esi,%esi
57a58c:	33 d2                	xor    %edx,%edx
57a58e:	89 95 cc af ff ff    	mov    %edx,-0x5034(%ebp)
57a594:	66 c7 85 c2 6f ff ff 	movw   $0x1,-0x903e(%ebp)
57a59b:	01 00
57a59d:	c6 85 ad 6f ff ff 00 	movb   $0x0,-0x9053(%ebp)
57a5a4:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
57a5a7:	7c 10                	jl     0x57a5b9
57a5a9:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a5af:	e8 c4 94 e8 ff       	call   0x403a78
57a5b4:	e9 9b 02 00 00       	jmp    0x57a854
57a5b9:	8d 55 d0             	lea    -0x30(%ebp),%edx
57a5bc:	8d 85 b0 6f ff ff    	lea    -0x9050(%ebp),%eax
57a5c2:	e8 19 fd ff ff       	call   0x57a2e0
57a5c7:	8b d8                	mov    %eax,%ebx
57a5c9:	e9 6f 02 00 00       	jmp    0x57a83d
57a5ce:	3b 45 f4             	cmp    -0xc(%ebp),%eax
57a5d1:	0f 85 b7 00 00 00    	jne    0x57a68e
57a5d7:	33 c0                	xor    %eax,%eax
57a5d9:	8a 45 ec             	mov    -0x14(%ebp),%al
57a5dc:	40                   	inc    %eax
57a5dd:	89 45 f0             	mov    %eax,-0x10(%ebp)
57a5e0:	66 8b 55 f8          	mov    -0x8(%ebp),%dx
57a5e4:	42                   	inc    %edx
57a5e5:	66 89 95 aa 6f ff ff 	mov    %dx,-0x9056(%ebp)
57a5ec:	8b c8                	mov    %eax,%ecx
57a5ee:	66 b8 01 00          	mov    $0x1,%ax
57a5f2:	66 d3 e0             	shl    %cl,%ax
57a5f5:	66 89 85 a8 6f ff ff 	mov    %ax,-0x9058(%ebp)
57a5fc:	eb 28                	jmp    0x57a626
57a5fe:	8b 45 d0             	mov    -0x30(%ebp),%eax
57a601:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
57a604:	7c 10                	jl     0x57a616
57a606:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a60c:	e8 67 94 e8 ff       	call   0x403a78
57a611:	e9 3e 02 00 00       	jmp    0x57a854
57a616:	8d 55 d0             	lea    -0x30(%ebp),%edx
57a619:	8d 85 b0 6f ff ff    	lea    -0x9050(%ebp),%eax
57a61f:	e8 bc fc ff ff       	call   0x57a2e0
57a624:	8b d8                	mov    %eax,%ebx
57a626:	0f b7 c3             	movzwl %bx,%eax
57a629:	3b 45 f4             	cmp    -0xc(%ebp),%eax
57a62c:	74 d0                	je     0x57a5fe
57a62e:	0f b7 c3             	movzwl %bx,%eax
57a631:	3b 45 f8             	cmp    -0x8(%ebp),%eax
57a634:	75 33                	jne    0x57a669
57a636:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a63c:	e8 37 94 e8 ff       	call   0x403a78
57a641:	8b 45 d0             	mov    -0x30(%ebp),%eax
57a644:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
57a647:	0f 8d 07 02 00 00    	jge    0x57a854
57a64d:	ff b5 9c 6f ff ff    	push   -0x9064(%ebp)
57a653:	ff b5 98 6f ff ff    	push   -0x9068(%ebp)
57a659:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a65f:	e8 74 40 ea ff       	call   0x41e6d8
57a664:	e9 eb 01 00 00       	jmp    0x57a854
57a669:	66 3b 9d aa 6f ff ff 	cmp    -0x9056(%ebp),%bx
57a670:	72 02                	jb     0x57a674
57a672:	33 db                	xor    %ebx,%ebx
57a674:	8b f3                	mov    %ebx,%esi
57a676:	8b 85 cc af ff ff    	mov    -0x5034(%ebp),%eax
57a67c:	88 9c 05 d0 af ff ff 	mov    %bl,-0x5030(%ebp,%eax,1)
57a683:	ff 85 cc af ff ff    	incl   -0x5034(%ebp)
57a689:	e9 47 01 00 00       	jmp    0x57a7d5
57a68e:	66 89 9d ae 6f ff ff 	mov    %bx,-0x9052(%ebp)
57a695:	66 8b 85 ae 6f ff ff 	mov    -0x9052(%ebp),%ax
57a69c:	66 3b 85 aa 6f ff ff 	cmp    -0x9056(%ebp),%ax
57a6a3:	73 67                	jae    0x57a70c
57a6a5:	55                   	push   %ebp
57a6a6:	8d 85 ae 6f ff ff    	lea    -0x9052(%ebp),%eax
57a6ac:	e8 9b fc ff ff       	call   0x57a34c
57a6b1:	59                   	pop    %ecx
57a6b2:	66 8b 85 aa 6f ff ff 	mov    -0x9056(%ebp),%ax
57a6b9:	66 3b 85 a8 6f ff ff 	cmp    -0x9058(%ebp),%ax
57a6c0:	0f 87 0f 01 00 00    	ja     0x57a7d5
57a6c6:	0f b7 95 ae 6f ff ff 	movzwl -0x9052(%ebp),%edx
57a6cd:	0f b7 85 aa 6f ff ff 	movzwl -0x9056(%ebp),%eax
57a6d4:	89 94 85 d0 bf ff ff 	mov    %edx,-0x4030(%ebp,%eax,4)
57a6db:	0f b7 d6             	movzwl %si,%edx
57a6de:	89 94 85 cc 6f ff ff 	mov    %edx,-0x9034(%ebp,%eax,4)
57a6e5:	66 ff 85 aa 6f ff ff 	incw   -0x9056(%ebp)
57a6ec:	55                   	push   %ebp
57a6ed:	8d 8d ad 6f ff ff    	lea    -0x9053(%ebp),%ecx
57a6f3:	8d 95 a8 6f ff ff    	lea    -0x9058(%ebp),%edx
57a6f9:	8d 85 aa 6f ff ff    	lea    -0x9056(%ebp),%eax
57a6ff:	e8 74 fd ff ff       	call   0x57a478
57a704:	59                   	pop    %ecx
57a705:	8b f3                	mov    %ebx,%esi
57a707:	e9 c9 00 00 00       	jmp    0x57a7d5
57a70c:	66 8b 85 ae 6f ff ff 	mov    -0x9052(%ebp),%ax
57a713:	66 3b 85 aa 6f ff ff 	cmp    -0x9056(%ebp),%ax
57a71a:	74 27                	je     0x57a743
57a71c:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a722:	e8 51 93 e8 ff       	call   0x403a78
57a727:	ff b5 9c 6f ff ff    	push   -0x9064(%ebp)
57a72d:	ff b5 98 6f ff ff    	push   -0x9068(%ebp)
57a733:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a739:	e8 9a 3f ea ff       	call   0x41e6d8
57a73e:	e9 11 01 00 00       	jmp    0x57a854
57a743:	8b d6                	mov    %esi,%edx
57a745:	eb 1f                	jmp    0x57a766
57a747:	0f b7 c6             	movzwl %si,%eax
57a74a:	8a 8c 85 d0 bf ff ff 	mov    -0x4030(%ebp,%eax,4),%cl
57a751:	8b bd cc af ff ff    	mov    -0x5034(%ebp),%edi
57a757:	88 8c 3d d0 af ff ff 	mov    %cl,-0x5030(%ebp,%edi,1)
57a75e:	66 8b b4 85 cc 6f ff 	mov    -0x9034(%ebp,%eax,4),%si
57a765:	ff
57a766:	66 3b 75 fc          	cmp    -0x4(%ebp),%si
57a76a:	77 db                	ja     0x57a747
57a76c:	8b c6                	mov    %esi,%eax
57a76e:	8b 8d cc af ff ff    	mov    -0x5034(%ebp),%ecx
57a774:	88 84 0d d0 af ff ff 	mov    %al,-0x5030(%ebp,%ecx,1)
57a77b:	66 8b 85 aa 6f ff ff 	mov    -0x9056(%ebp),%ax
57a782:	66 3b 85 a8 6f ff ff 	cmp    -0x9058(%ebp),%ax
57a789:	77 3b                	ja     0x57a7c6
57a78b:	0f b7 ce             	movzwl %si,%ecx
57a78e:	0f b7 85 aa 6f ff ff 	movzwl -0x9056(%ebp),%eax
57a795:	89 8c 85 d0 bf ff ff 	mov    %ecx,-0x4030(%ebp,%eax,4)
57a79c:	0f b7 d2             	movzwl %dx,%edx
57a79f:	89 94 85 cc 6f ff ff 	mov    %edx,-0x9034(%ebp,%eax,4)
57a7a6:	66 ff 85 aa 6f ff ff 	incw   -0x9056(%ebp)
57a7ad:	55                   	push   %ebp