58035c:	03 c0                	add    %eax,%eax
58035e:	03 d0                	add    %eax,%edx
580360:	8b c6                	mov    %esi,%eax
580362:	83 c0 02             	add    $0x2,%eax
580365:	53                   	push   %ebx
580366:	8d 4d ac             	lea    -0x54(%ebp),%ecx
580369:	87 ca                	xchg   %ecx,%edx
58036b:	e8 78 fe ff ff       	call   0x5801e8
580370:	c7 43 04 05 00 00 00 	movl   $0x5,0x4(%ebx)
580377:	8b 7b 08             	mov    0x8(%ebx),%edi
58037a:	4f                   	dec    %edi
58037b:	85 ff                	test   %edi,%edi
58037d:	7c 32                	jl     0x5803b1
58037f:	47                   	inc    %edi
580380:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
580387:	8d 5d cc             	lea    -0x34(%ebp),%ebx
58038a:	8d 75 ac             	lea    -0x54(%ebp),%esi
58038d:	0f b7 0e             	movzwl (%esi),%ecx
580390:	0f b7 13             	movzwl (%ebx),%edx
580393:	8b 45 f0             	mov    -0x10(%ebp),%eax
580396:	e8 d1 f4 ff ff       	call   0x57f86c
58039b:	8b 55 fc             	mov    -0x4(%ebp),%edx
58039e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5803a1:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
5803a5:	ff 45 ec             	incl   -0x14(%ebp)
5803a8:	83 c6 02             	add    $0x2,%esi
5803ab:	83 c3 02             	add    $0x2,%ebx
5803ae:	4f                   	dec    %edi
5803af:	75 dc                	jne    0x58038d
5803b1:	5f                   	pop    %edi
5803b2:	5e                   	pop    %esi
5803b3:	5b                   	pop    %ebx
5803b4:	8b e5                	mov    %ebp,%esp
5803b6:	5d                   	pop    %ebp
5803b7:	c2 04 00             	ret    $0x4
5803ba:	8b c0                	mov    %eax,%eax
5803bc:	55                   	push   %ebp
5803bd:	8b ec                	mov    %esp,%ebp
5803bf:	83 c4 ac             	add    $0xffffffac,%esp
5803c2:	53                   	push   %ebx
5803c3:	56                   	push   %esi
5803c4:	57                   	push   %edi
5803c5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5803c8:	89 55 fc             	mov    %edx,-0x4(%ebp)
5803cb:	8b f0                	mov    %eax,%esi
5803cd:	8b 5d 08             	mov    0x8(%ebp),%ebx
5803d0:	0f b7 06             	movzwl (%esi),%eax
5803d3:	0f b7 53 0c          	movzwl 0xc(%ebx),%edx
5803d7:	f7 ea                	imul   %edx
5803d9:	e8 32 c3 ff ff       	call   0x57c710
5803de:	89 45 f4             	mov    %eax,-0xc(%ebp)
5803e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
5803e4:	e8 77 f4 ff ff       	call   0x57f860
5803e9:	8b f8                	mov    %eax,%edi
5803eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
5803ee:	e8 71 f4 ff ff       	call   0x57f864
5803f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5803f6:	8b 43 22             	mov    0x22(%ebx),%eax
5803f9:	f7 ef                	imul   %edi
5803fb:	66 81 3e ff ff       	cmpw   $0xffff,(%esi)
580400:	74 0b                	je     0x58040d
580402:	8b 53 22             	mov    0x22(%ebx),%edx
580405:	47                   	inc    %edi
580406:	0f af d7             	imul   %edi,%edx
580409:	8b fa                	mov    %edx,%edi
58040b:	eb 08                	jmp    0x580415
58040d:	8b 53 22             	mov    0x22(%ebx),%edx
580410:	0f af d7             	imul   %edi,%edx
580413:	8b fa                	mov    %edx,%edi
580415:	c7 43 04 05 00 00 00 	movl   $0x5,0x4(%ebx)
58041c:	8b 55 f8             	mov    -0x8(%ebp),%edx
58041f:	03 c0                	add    %eax,%eax
580421:	03 d0                	add    %eax,%edx
580423:	8b c6                	mov    %esi,%eax
580425:	83 c0 02             	add    $0x2,%eax
580428:	53                   	push   %ebx
580429:	8d 4d cc             	lea    -0x34(%ebp),%ecx
58042c:	87 ca                	xchg   %ecx,%edx
58042e:	e8 ad fe ff ff       	call   0x5802e0
580433:	8b 55 f8             	mov    -0x8(%ebp),%edx
580436:	8b c7                	mov    %edi,%eax
580438:	03 c0                	add    %eax,%eax
58043a:	03 d0                	add    %eax,%edx
58043c:	8b c6                	mov    %esi,%eax
58043e:	83 c0 02             	add    $0x2,%eax
580441:	53                   	push   %ebx
580442:	8d 4d ac             	lea    -0x54(%ebp),%ecx
580445:	87 ca                	xchg   %ecx,%edx
580447:	e8 94 fe ff ff       	call   0x5802e0
58044c:	c7 43 04 06 00 00 00 	movl   $0x6,0x4(%ebx)
580453:	8b 7b 08             	mov    0x8(%ebx),%edi
580456:	4f                   	dec    %edi
580457:	85 ff                	test   %edi,%edi
580459:	7c 32                	jl     0x58048d
58045b:	47                   	inc    %edi
58045c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
580463:	8d 5d cc             	lea    -0x34(%ebp),%ebx
580466:	8d 75 ac             	lea    -0x54(%ebp),%esi
580469:	0f b7 0e             	movzwl (%esi),%ecx
58046c:	0f b7 13             	movzwl (%ebx),%edx
58046f:	8b 45 f0             	mov    -0x10(%ebp),%eax
580472:	e8 f5 f3 ff ff       	call   0x57f86c
580477:	8b 55 fc             	mov    -0x4(%ebp),%edx
58047a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58047d:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
580481:	ff 45 ec             	incl   -0x14(%ebp)
580484:	83 c6 02             	add    $0x2,%esi
580487:	83 c3 02             	add    $0x2,%ebx
58048a:	4f                   	dec    %edi
58048b:	75 dc                	jne    0x580469
58048d:	5f                   	pop    %edi
58048e:	5e                   	pop    %esi
58048f:	5b                   	pop    %ebx
580490:	8b e5                	mov    %ebp,%esp
580492:	5d                   	pop    %ebp
580493:	c2 04 00             	ret    $0x4
580496:	8b c0                	mov    %eax,%eax
580498:	55                   	push   %ebp
580499:	8b ec                	mov    %esp,%ebp
58049b:	83 c4 ac             	add    $0xffffffac,%esp
58049e:	53                   	push   %ebx
58049f:	56                   	push   %esi
5804a0:	57                   	push   %edi
5804a1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5804a4:	89 55 fc             	mov    %edx,-0x4(%ebp)
5804a7:	8b f0                	mov    %eax,%esi
5804a9:	8b 5d 08             	mov    0x8(%ebp),%ebx
5804ac:	0f b7 06             	movzwl (%esi),%eax
5804af:	0f b7 53 0c          	movzwl 0xc(%ebx),%edx
5804b3:	f7 ea                	imul   %edx
5804b5:	e8 56 c2 ff ff       	call   0x57c710
5804ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
5804bd:	8b 45 f4             	mov    -0xc(%ebp),%eax
5804c0:	e8 9b f3 ff ff       	call   0x57f860
5804c5:	8b f8                	mov    %eax,%edi
5804c7:	8b 45 f4             	mov    -0xc(%ebp),%eax
5804ca:	e8 95 f3 ff ff       	call   0x57f864
5804cf:	89 45 f0             	mov    %eax,-0x10(%ebp)
5804d2:	8b 43 26             	mov    0x26(%ebx),%eax
5804d5:	f7 ef                	imul   %edi
5804d7:	66 81 3e ff ff       	cmpw   $0xffff,(%esi)
5804dc:	74 0b                	je     0x5804e9
5804de:	8b 53 26             	mov    0x26(%ebx),%edx
5804e1:	47                   	inc    %edi
5804e2:	0f af d7             	imul   %edi,%edx
5804e5:	8b fa                	mov    %edx,%edi
5804e7:	eb 08                	jmp    0x5804f1
5804e9:	8b 53 26             	mov    0x26(%ebx),%edx
5804ec:	0f af d7             	imul   %edi,%edx
5804ef:	8b fa                	mov    %edx,%edi
5804f1:	c7 43 04 06 00 00 00 	movl   $0x6,0x4(%ebx)
5804f8:	8b 55 f8             	mov    -0x8(%ebp),%edx
5804fb:	03 c0                	add    %eax,%eax
5804fd:	03 d0                	add    %eax,%edx
5804ff:	8b c6                	mov    %esi,%eax
580501:	83 c0 02             	add    $0x2,%eax
580504:	53                   	push   %ebx
580505:	8d 4d cc             	lea    -0x34(%ebp),%ecx
580508:	87 ca                	xchg   %ecx,%edx
58050a:	e8 ad fe ff ff       	call   0x5803bc
58050f:	8b 55 f8             	mov    -0x8(%ebp),%edx
580512:	8b c7                	mov    %edi,%eax
580514:	03 c0                	add    %eax,%eax
580516:	03 d0                	add    %eax,%edx
580518:	8b c6                	mov    %esi,%eax
58051a:	83 c0 02             	add    $0x2,%eax
58051d:	53                   	push   %ebx
58051e:	8d 4d ac             	lea    -0x54(%ebp),%ecx
580521:	87 ca                	xchg   %ecx,%edx
580523:	e8 94 fe ff ff       	call   0x5803bc
580528:	c7 43 04 07 00 00 00 	movl   $0x7,0x4(%ebx)
58052f:	8b 7b 08             	mov    0x8(%ebx),%edi
580532:	4f                   	dec    %edi
580533:	85 ff                	test   %edi,%edi
580535:	7c 32                	jl     0x580569
580537:	47                   	inc    %edi
580538:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
58053f:	8d 5d cc             	lea    -0x34(%ebp),%ebx
580542:	8d 75 ac             	lea    -0x54(%ebp),%esi
580545:	0f b7 0e             	movzwl (%esi),%ecx
580548:	0f b7 13             	movzwl (%ebx),%edx
58054b:	8b 45 f0             	mov    -0x10(%ebp),%eax
58054e:	e8 19 f3 ff ff       	call   0x57f86c
580553:	8b 55 fc             	mov    -0x4(%ebp),%edx
580556:	8b 4d ec             	mov    -0x14(%ebp),%ecx
580559:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
58055d:	ff 45 ec             	incl   -0x14(%ebp)
580560:	83 c6 02             	add    $0x2,%esi
580563:	83 c3 02             	add    $0x2,%ebx
580566:	4f                   	dec    %edi
580567:	75 dc                	jne    0x580545
580569:	5f                   	pop    %edi
58056a:	5e                   	pop    %esi
58056b:	5b                   	pop    %ebx
58056c:	8b e5                	mov    %ebp,%esp
58056e:	5d                   	pop    %ebp
58056f:	c2 04 00             	ret    $0x4
580572:	8b c0                	mov    %eax,%eax
580574:	55                   	push   %ebp
580575:	8b ec                	mov    %esp,%ebp
580577:	83 c4 ac             	add    $0xffffffac,%esp
58057a:	53                   	push   %ebx
58057b:	56                   	push   %esi
58057c:	57                   	push   %edi
58057d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
580580:	89 55 fc             	mov    %edx,-0x4(%ebp)
580583:	8b f0                	mov    %eax,%esi
580585:	8b 5d 08             	mov    0x8(%ebp),%ebx
580588:	0f b7 06             	movzwl (%esi),%eax
58058b:	0f b7 53 0c          	movzwl 0xc(%ebx),%edx
58058f:	f7 ea                	imul   %edx
580591:	e8 7a c1 ff ff       	call   0x57c710
580596:	89 45 f4             	mov    %eax,-0xc(%ebp)
580599:	8b 45 f4             	mov    -0xc(%ebp),%eax
58059c:	e8 bf f2 ff ff       	call   0x57f860
5805a1:	8b f8                	mov    %eax,%edi
5805a3:	8b 45 f4             	mov    -0xc(%ebp),%eax
5805a6:	e8 b9 f2 ff ff       	call   0x57f864
5805ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
5805ae:	8b 43 2a             	mov    0x2a(%ebx),%eax
5805b1:	f7 ef                	imul   %edi
5805b3:	66 81 3e ff ff       	cmpw   $0xffff,(%esi)
5805b8:	74 0b                	je     0x5805c5
5805ba:	8b 53 2a             	mov    0x2a(%ebx),%edx
5805bd:	47                   	inc    %edi
5805be:	0f af d7             	imul   %edi,%edx
5805c1:	8b fa                	mov    %edx,%edi
5805c3:	eb 08                	jmp    0x5805cd
5805c5:	8b 53 2a             	mov    0x2a(%ebx),%edx
5805c8:	0f af d7             	imul   %edi,%edx
5805cb:	8b fa                	mov    %edx,%edi
5805cd:	c7 43 04 07 00 00 00 	movl   $0x7,0x4(%ebx)
5805d4:	8b 55 f8             	mov    -0x8(%ebp),%edx
5805d7:	03 c0                	add    %eax,%eax
5805d9:	03 d0                	add    %eax,%edx
5805db:	8b c6                	mov    %esi,%eax
5805dd:	83 c0 02             	add    $0x2,%eax
5805e0:	53                   	push   %ebx
5805e1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
5805e4:	87 ca                	xchg   %ecx,%edx
5805e6:	e8 ad fe ff ff       	call   0x580498
5805eb:	8b 55 f8             	mov    -0x8(%ebp),%edx
5805ee:	8b c7                	mov    %edi,%eax
5805f0:	03 c0                	add    %eax,%eax
5805f2:	03 d0                	add    %eax,%edx
5805f4:	8b c6                	mov    %esi,%eax
5805f6:	83 c0 02             	add    $0x2,%eax
5805f9:	53                   	push   %ebx
5805fa:	8d 4d ac             	lea    -0x54(%ebp),%ecx
5805fd:	87 ca                	xchg   %ecx,%edx
5805ff:	e8 94 fe ff ff       	call   0x580498
580604:	c7 43 04 08 00 00 00 	movl   $0x8,0x4(%ebx)
58060b:	8b 7b 08             	mov    0x8(%ebx),%edi
58060e:	4f                   	dec    %edi
58060f:	85 ff                	test   %edi,%edi
580611:	7c 32                	jl     0x580645
580613:	47                   	inc    %edi
580614:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
58061b:	8d 5d cc             	lea    -0x34(%ebp),%ebx
58061e:	8d 75 ac             	lea    -0x54(%ebp),%esi
580621:	0f b7 0e             	movzwl (%esi),%ecx
580624:	0f b7 13             	movzwl (%ebx),%edx
580627:	8b 45 f0             	mov    -0x10(%ebp),%eax
58062a:	e8 3d f2 ff ff       	call   0x57f86c
58062f:	8b 55 fc             	mov    -0x4(%ebp),%edx
580632:	8b 4d ec             	mov    -0x14(%ebp),%ecx
580635:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
580639:	ff 45 ec             	incl   -0x14(%ebp)
58063c:	83 c6 02             	add    $0x2,%esi
58063f:	83 c3 02             	add    $0x2,%ebx
580642:	4f                   	dec    %edi
580643:	75 dc                	jne    0x580621
580645:	5f                   	pop    %edi
580646:	5e                   	pop    %esi
580647:	5b                   	pop    %ebx
580648:	8b e5                	mov    %ebp,%esp
58064a:	5d                   	pop    %ebp
58064b:	c2 04 00             	ret    $0x4
58064e:	8b c0                	mov    %eax,%eax
580650:	55                   	push   %ebp
580651:	8b ec                	mov    %esp,%ebp
580653:	53                   	push   %ebx
580654:	56                   	push   %esi
580655:	57                   	push   %edi
580656:	8b f9                	mov    %ecx,%edi
580658:	8b f2                	mov    %edx,%esi
58065a:	8b 5d 08             	mov    0x8(%ebp),%ebx
58065d:	8b d3                	mov    %ebx,%edx
58065f:	e8 e8 f1 ff ff       	call   0x57f84c
580664:	89 73 04             	mov    %esi,0x4(%ebx)
580667:	8b d7                	mov    %edi,%edx
580669:	89 53 08             	mov    %edx,0x8(%ebx)
58066c:	0f b7 43 0c          	movzwl 0xc(%ebx),%eax
580670:	40                   	inc    %eax
580671:	8b ca                	mov    %edx,%ecx
580673:	89 4b 0e             	mov    %ecx,0xe(%ebx)
580676:	8b d1                	mov    %ecx,%edx
580678:	0f af d0             	imul   %eax,%edx
58067b:	89 53 12             	mov    %edx,0x12(%ebx)
58067e:	8b ca                	mov    %edx,%ecx
580680:	0f af c8             	imul   %eax,%ecx
580683:	89 4b 16             	mov    %ecx,0x16(%ebx)
580686:	8b d1                	mov    %ecx,%edx
580688:	0f af d0             	imul   %eax,%edx
58068b:	89 53 1a             	mov    %edx,0x1a(%ebx)
58068e:	8b ca                	mov    %edx,%ecx
580690:	0f af c8             	imul   %eax,%ecx
580693:	89 4b 1e             	mov    %ecx,0x1e(%ebx)
580696:	8b d1                	mov    %ecx,%edx
580698:	0f af d0             	imul   %eax,%edx
58069b:	89 53 22             	mov    %edx,0x22(%ebx)
58069e:	8b ca                	mov    %edx,%ecx
5806a0:	0f af c8             	imul   %eax,%ecx
5806a3:	89 4b 26             	mov    %ecx,0x26(%ebx)
5806a6:	0f af c8             	imul   %eax,%ecx
5806a9:	89 4b 2a             	mov    %ecx,0x2a(%ebx)
5806ac:	83 fe 08             	cmp    $0x8,%esi
5806af:	77 77                	ja     0x580728
5806b1:	ff 24 b5 b8 06 58 00 	jmp    *0x5806b8(,%esi,4)
5806b8:	28 07                	sub    %al,(%edi)
5806ba:	58                   	pop    %eax
5806bb:	00 dc                	add    %bl,%ah
5806bd:	06                   	push   %es
5806be:	58                   	pop    %eax
5806bf:	00 28                	add    %ch,(%eax)
5806c1:	07                   	pop    %es
5806c2:	58                   	pop    %eax
5806c3:	00 e5                	add    %ah,%ch
5806c5:	06                   	push   %es
5806c6:	58                   	pop    %eax
5806c7:	00 fd                	add    %bh,%ch
5806c9:	06                   	push   %es
5806ca:	58                   	pop    %eax
5806cb:	00 06                	add    %al,(%esi)
5806cd:	07                   	pop    %es
5806ce:	58                   	pop    %eax
5806cf:	00 0f                	add    %cl,(%edi)
5806d1:	07                   	pop    %es
5806d2:	58                   	pop    %eax
5806d3:	00 18                	add    %bl,(%eax)
5806d5:	07                   	pop    %es
5806d6:	58                   	pop    %eax
5806d7:	00 21                	add    %ah,(%ecx)
5806d9:	07                   	pop    %es
5806da:	58                   	pop    %eax
5806db:	00 c7                	add    %al,%bh
5806dd:	43                   	inc    %ebx
5806de:	2e b8 f8 57 00 eb    	cs mov $0xeb0057f8,%eax
5806e4:	43                   	inc    %ebx
5806e5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)