5881ae:	83 65 00 fd          	andl   $0xfffffffd,0x0(%ebp)
5881b2:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
5881b7:	8b 54 24 18          	mov    0x18(%esp),%edx
5881bb:	0f b7 52 0c          	movzwl 0xc(%edx),%edx
5881bf:	f7 ea                	imul   %edx
5881c1:	e8 4a 45 ff ff       	call   0x57c710
5881c6:	89 44 24 0c          	mov    %eax,0xc(%esp)
5881ca:	0f b7 44 24 06       	movzwl 0x6(%esp),%eax
5881cf:	8b 54 24 18          	mov    0x18(%esp),%edx
5881d3:	0f b7 52 0c          	movzwl 0xc(%edx),%edx
5881d7:	f7 ea                	imul   %edx
5881d9:	e8 32 45 ff ff       	call   0x57c710
5881de:	89 44 24 10          	mov    %eax,0x10(%esp)
5881e2:	0f b7 44 24 08       	movzwl 0x8(%esp),%eax
5881e7:	8b 54 24 18          	mov    0x18(%esp),%edx
5881eb:	0f b7 52 0c          	movzwl 0xc(%edx),%edx
5881ef:	f7 ea                	imul   %edx
5881f1:	e8 1a 45 ff ff       	call   0x57c710
5881f6:	89 44 24 14          	mov    %eax,0x14(%esp)
5881fa:	8b 44 24 0c          	mov    0xc(%esp),%eax
5881fe:	e8 5d 76 ff ff       	call   0x57f860
588203:	8b 54 24 18          	mov    0x18(%esp),%edx
588207:	f7 6a 16             	imull  0x16(%edx)
58820a:	89 04 b7             	mov    %eax,(%edi,%esi,4)
58820d:	8b 44 24 10          	mov    0x10(%esp),%eax
588211:	e8 4a 76 ff ff       	call   0x57f860
588216:	8b 54 24 18          	mov    0x18(%esp),%edx
58821a:	f7 6a 12             	imull  0x12(%edx)
58821d:	89 84 b7 00 04 00 00 	mov    %eax,0x400(%edi,%esi,4)
588224:	8b 44 24 14          	mov    0x14(%esp),%eax
588228:	e8 33 76 ff ff       	call   0x57f860
58822d:	8b 54 24 18          	mov    0x18(%esp),%edx
588231:	f7 6a 0e             	imull  0xe(%edx)
588234:	89 84 b7 00 08 00 00 	mov    %eax,0x800(%edi,%esi,4)
58823b:	8b 44 24 0c          	mov    0xc(%esp),%eax
58823f:	e8 20 76 ff ff       	call   0x57f864
588244:	66 89 84 77 00 0c 00 	mov    %ax,0xc00(%edi,%esi,2)
58824b:	00
58824c:	8b 44 24 10          	mov    0x10(%esp),%eax
588250:	e8 0f 76 ff ff       	call   0x57f864
588255:	66 89 84 77 00 0e 00 	mov    %ax,0xe00(%edi,%esi,2)
58825c:	00
58825d:	8b 44 24 14          	mov    0x14(%esp),%eax
588261:	e8 fe 75 ff ff       	call   0x57f864
588266:	66 89 84 77 00 10 00 	mov    %ax,0x1000(%edi,%esi,2)
58826d:	00
58826e:	46                   	inc    %esi
58826f:	83 c3 02             	add    $0x2,%ebx
588272:	81 fe 00 01 00 00    	cmp    $0x100,%esi
588278:	0f 85 ee fe ff ff    	jne    0x58816c
58827e:	89 bd 62 01 00 00    	mov    %edi,0x162(%ebp)
588284:	c7 85 5e 01 00 00 f4 	movl   $0x587cf4,0x15e(%ebp)
58828b:	7c 58 00
58828e:	8b c5                	mov    %ebp,%eax
588290:	83 c4 1c             	add    $0x1c,%esp
588293:	5d                   	pop    %ebp
588294:	5f                   	pop    %edi
588295:	5e                   	pop    %esi
588296:	5b                   	pop    %ebx
588297:	c3                   	ret
588298:	55                   	push   %ebp
588299:	8b ec                	mov    %esp,%ebp
58829b:	83 c4 f4             	add    $0xfffffff4,%esp
58829e:	53                   	push   %ebx
58829f:	56                   	push   %esi
5882a0:	57                   	push   %edi
5882a1:	8b f9                	mov    %ecx,%edi
5882a3:	89 55 fc             	mov    %edx,-0x4(%ebp)
5882a6:	8b f0                	mov    %eax,%esi
5882a8:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5882ac:	7c 12                	jl     0x5882c0
5882ae:	83 7d 10 03          	cmpl   $0x3,0x10(%ebp)
5882b2:	7f 0c                	jg     0x5882c0
5882b4:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5882b8:	7c 06                	jl     0x5882c0
5882ba:	83 7d 0c 03          	cmpl   $0x3,0xc(%ebp)
5882be:	7e 07                	jle    0x5882c7
5882c0:	33 c0                	xor    %eax,%eax
5882c2:	e9 4f 03 00 00       	jmp    0x588616
5882c7:	e8 9c 42 ff ff       	call   0x57c568
5882cc:	8b d8                	mov    %eax,%ebx
5882ce:	85 db                	test   %ebx,%ebx
5882d0:	75 07                	jne    0x5882d9
5882d2:	33 c0                	xor    %eax,%eax
5882d4:	e9 3d 03 00 00       	jmp    0x588616
5882d9:	c7 83 90 00 00 00 48 	movl   $0x57cd48,0x90(%ebx)
5882e0:	cd 57 00
5882e3:	8b 45 10             	mov    0x10(%ebp),%eax
5882e6:	89 43 10             	mov    %eax,0x10(%ebx)
5882e9:	8b 45 0c             	mov    0xc(%ebp),%eax
5882ec:	89 43 14             	mov    %eax,0x14(%ebx)
5882ef:	33 c0                	xor    %eax,%eax
5882f1:	89 43 18             	mov    %eax,0x18(%ebx)
5882f4:	89 73 1c             	mov    %esi,0x1c(%ebx)
5882f7:	89 7b 20             	mov    %edi,0x20(%ebx)
5882fa:	8b 45 14             	mov    0x14(%ebp),%eax
5882fd:	89 43 24             	mov    %eax,0x24(%ebx)
588300:	8b 45 fc             	mov    -0x4(%ebp),%eax
588303:	89 03                	mov    %eax,(%ebx)
588305:	8b 45 18             	mov    0x18(%ebp),%eax
588308:	89 43 04             	mov    %eax,0x4(%ebx)
58830b:	33 c0                	xor    %eax,%eax
58830d:	89 83 e0 00 00 00    	mov    %eax,0xe0(%ebx)
588313:	89 83 dc 00 00 00    	mov    %eax,0xdc(%ebx)
588319:	8b 55 fc             	mov    -0x4(%ebp),%edx
58831c:	8b c3                	mov    %ebx,%eax
58831e:	e8 d9 59 ff ff       	call   0x57dcfc
588323:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
588329:	8b 55 18             	mov    0x18(%ebp),%edx
58832c:	8b c3                	mov    %ebx,%eax
58832e:	e8 35 6a ff ff       	call   0x57ed68
588333:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
588339:	f6 45 09 02          	testb  $0x2,0x9(%ebp)
58833d:	75 08                	jne    0x588347
58833f:	85 f6                	test   %esi,%esi
588341:	75 15                	jne    0x588358
588343:	85 ff                	test   %edi,%edi
588345:	75 11                	jne    0x588358
588347:	c7 83 90 00 00 00 6c 	movl   $0x57f26c,0x90(%ebx)
58834e:	f2 57 00
588351:	8b c3                	mov    %ebx,%eax
588353:	e9 be 02 00 00       	jmp    0x588616
588358:	85 f6                	test   %esi,%esi
58835a:	75 0e                	jne    0x58836a
58835c:	8b c3                	mov    %ebx,%eax
58835e:	e8 55 70 ff ff       	call   0x57f3b8
588363:	33 c0                	xor    %eax,%eax
588365:	e9 ac 02 00 00       	jmp    0x588616
58836a:	8b c6                	mov    %esi,%eax
58836c:	e8 7b 4b ff ff       	call   0x57ceec
588371:	3d 6b 6e 69 6c       	cmp    $0x6c696e6b,%eax
588376:	75 0f                	jne    0x588387
588378:	8b 55 08             	mov    0x8(%ebp),%edx
58837b:	8b c3                	mov    %ebx,%eax
58837d:	e8 46 9d ff ff       	call   0x5820c8
588382:	e9 8f 02 00 00       	jmp    0x588616
588387:	33 c9                	xor    %ecx,%ecx
588389:	8b 55 fc             	mov    -0x4(%ebp),%edx
58838c:	8b c6                	mov    %esi,%eax
58838e:	e8 75 71 ff ff       	call   0x57f508
588393:	85 c0                	test   %eax,%eax
588395:	75 0e                	jne    0x5883a5
588397:	8b c3                	mov    %ebx,%eax
588399:	e8 1a 70 ff ff       	call   0x57f3b8
58839e:	33 c0                	xor    %eax,%eax
5883a0:	e9 71 02 00 00       	jmp    0x588616
5883a5:	8b c6                	mov    %esi,%eax
5883a7:	e8 18 43 ff ff       	call   0x57c6c4
5883ac:	89 43 28             	mov    %eax,0x28(%ebx)
5883af:	8b c6                	mov    %esi,%eax
5883b1:	e8 36 4b ff ff       	call   0x57ceec
5883b6:	3d 6c 63 6d 6e       	cmp    $0x6e6d636c,%eax
5883bb:	75 47                	jne    0x588404
5883bd:	83 bb d8 00 00 00 00 	cmpl   $0x0,0xd8(%ebx)
5883c4:	75 0d                	jne    0x5883d3
5883c6:	33 c0                	xor    %eax,%eax
5883c8:	e8 93 9d ff ff       	call   0x582160
5883cd:	89 83 d8 00 00 00    	mov    %eax,0xd8(%ebx)
5883d3:	b9 32 6c 63 6e       	mov    $0x6e636c32,%ecx
5883d8:	8b d6                	mov    %esi,%edx
5883da:	8b c3                	mov    %ebx,%eax
5883dc:	e8 37 9f ff ff       	call   0x582318
5883e1:	85 ff                	test   %edi,%edi
5883e3:	75 18                	jne    0x5883fd
5883e5:	8b 43 28             	mov    0x28(%ebx),%eax
5883e8:	89 43 2c             	mov    %eax,0x2c(%ebx)
5883eb:	b8 64 25 58 00       	mov    $0x582564,%eax
5883f0:	89 83 90 00 00 00    	mov    %eax,0x90(%ebx)
5883f6:	8b c3                	mov    %ebx,%eax
5883f8:	e9 19 02 00 00       	jmp    0x588616
5883fd:	81 4d 08 00 01 00 00 	orl    $0x100,0x8(%ebp)
588404:	85 ff                	test   %edi,%edi
588406:	75 0e                	jne    0x588416
588408:	8b c3                	mov    %ebx,%eax
58840a:	e8 a9 6f ff ff       	call   0x57f3b8
58840f:	33 c0                	xor    %eax,%eax
588411:	e9 00 02 00 00       	jmp    0x588616
588416:	33 c9                	xor    %ecx,%ecx
588418:	8b 55 18             	mov    0x18(%ebp),%edx
58841b:	8b c7                	mov    %edi,%eax
58841d:	e8 e6 70 ff ff       	call   0x57f508
588422:	85 c0                	test   %eax,%eax
588424:	75 0e                	jne    0x588434
588426:	8b c3                	mov    %ebx,%eax
588428:	e8 8b 6f ff ff       	call   0x57f3b8
58842d:	33 c0                	xor    %eax,%eax
58842f:	e9 e2 01 00 00       	jmp    0x588616
588434:	8b c7                	mov    %edi,%eax
588436:	e8 89 42 ff ff       	call   0x57c6c4
58843b:	89 43 2c             	mov    %eax,0x2c(%ebx)
58843e:	8b c7                	mov    %edi,%eax
588440:	e8 a7 4a ff ff       	call   0x57ceec
588445:	3d 6c 63 6d 6e       	cmp    $0x6e6d636c,%eax
58844a:	75 0e                	jne    0x58845a
58844c:	8b c3                	mov    %ebx,%eax
58844e:	e8 65 6f ff ff       	call   0x57f3b8
588453:	33 c0                	xor    %eax,%eax
588455:	e9 bc 01 00 00       	jmp    0x588616
58845a:	8b c6                	mov    %esi,%eax
58845c:	e8 73 a1 ff ff       	call   0x5825d4
588461:	89 83 cc 00 00 00    	mov    %eax,0xcc(%ebx)
588467:	c7 83 d0 00 00 00 ff 	movl   $0xffffffff,0xd0(%ebx)
58846e:	ff ff ff
588471:	8b c7                	mov    %edi,%eax
588473:	e8 5c a1 ff ff       	call   0x5825d4
588478:	89 83 d4 00 00 00    	mov    %eax,0xd4(%ebx)
58847e:	8b 45 10             	mov    0x10(%ebp),%eax
588481:	8b 04 85 6c 33 6a 00 	mov    0x6a336c(,%eax,4),%eax
588488:	89 45 f8             	mov    %eax,-0x8(%ebp)
58848b:	8b 45 10             	mov    0x10(%ebp),%eax
58848e:	8b 04 85 7c 33 6a 00 	mov    0x6a337c(,%eax,4),%eax
588495:	89 45 f4             	mov    %eax,-0xc(%ebp)
588498:	8b 55 f8             	mov    -0x8(%ebp),%edx
58849b:	8b c6                	mov    %esi,%eax
58849d:	e8 52 a1 ff ff       	call   0x5825f4
5884a2:	85 c0                	test   %eax,%eax
5884a4:	75 1b                	jne    0x5884c1
5884a6:	a1 6c 33 6a 00       	mov    0x6a336c,%eax
5884ab:	89 45 f8             	mov    %eax,-0x8(%ebp)
5884ae:	8b 55 f8             	mov    -0x8(%ebp),%edx
5884b1:	8b c6                	mov    %esi,%eax
5884b3:	e8 3c a1 ff ff       	call   0x5825f4
5884b8:	85 c0                	test   %eax,%eax
5884ba:	75 05                	jne    0x5884c1
5884bc:	33 c0                	xor    %eax,%eax
5884be:	89 45 f8             	mov    %eax,-0x8(%ebp)
5884c1:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
5884c5:	74 0d                	je     0x5884d4
5884c7:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5884ca:	8b 55 08             	mov    0x8(%ebp),%edx
5884cd:	8b c3                	mov    %ebx,%eax
5884cf:	e8 1c c8 ff ff       	call   0x584cf0
5884d4:	8b 55 f4             	mov    -0xc(%ebp),%edx
5884d7:	8b c7                	mov    %edi,%eax
5884d9:	e8 16 a1 ff ff       	call   0x5825f4
5884de:	85 c0                	test   %eax,%eax
5884e0:	75 3e                	jne    0x588520
5884e2:	a1 7c 33 6a 00       	mov    0x6a337c,%eax
5884e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
5884ea:	8b c7                	mov    %edi,%eax
5884ec:	e8 fb 49 ff ff       	call   0x57ceec
5884f1:	3d 74 73 62 61       	cmp    $0x61627374,%eax
5884f6:	75 15                	jne    0x58850d
5884f8:	8b 55 f4             	mov    -0xc(%ebp),%edx
5884fb:	8b c7                	mov    %edi,%eax
5884fd:	e8 f2 a0 ff ff       	call   0x5825f4
588502:	85 c0                	test   %eax,%eax
588504:	75 07                	jne    0x58850d
588506:	c7 45 f4 30 42 32 41 	movl   $0x41324230,-0xc(%ebp)
58850d:	8b 55 f4             	mov    -0xc(%ebp),%edx
588510:	8b c7                	mov    %edi,%eax
588512:	e8 dd a0 ff ff       	call   0x5825f4
588517:	85 c0                	test   %eax,%eax
588519:	75 05                	jne    0x588520
58851b:	33 c0                	xor    %eax,%eax
58851d:	89 45 f4             	mov    %eax,-0xc(%ebp)
588520:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
588524:	74 05                	je     0x58852b
588526:	33 c0                	xor    %eax,%eax
588528:	89 45 f8             	mov    %eax,-0x8(%ebp)
58852b:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
58852f:	74 05                	je     0x588536
588531:	33 c0                	xor    %eax,%eax
588533:	89 45 f4             	mov    %eax,-0xc(%ebp)
588536:	f6 45 09 10          	testb  $0x10,0x9(%ebp)
58853a:	74 0e                	je     0x58854a
58853c:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%ebx)
588543:	81 4d 08 00 01 00 00 	orl    $0x100,0x8(%ebp)
58854a:	8d 45 f4             	lea    -0xc(%ebp),%eax
58854d:	50                   	push   %eax
58854e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
588551:	8d 55 08             	lea    0x8(%ebp),%edx
588554:	8b c3                	mov    %ebx,%eax
588556:	e8 ed d7 ff ff       	call   0x585d48
58855b:	85 c0                	test   %eax,%eax
58855d:	75 0e                	jne    0x58856d
58855f:	8b c3                	mov    %ebx,%eax
588561:	e8 52 6e ff ff       	call   0x57f3b8
588566:	33 c0                	xor    %eax,%eax
588568:	e9 a9 00 00 00       	jmp    0x588616
58856d:	8b 55 08             	mov    0x8(%ebp),%edx
588570:	81 e2 00 20 00 00    	and    $0x2000,%edx
588576:	8b c3                	mov    %ebx,%eax
588578:	e8 77 ee ff ff       	call   0x5873f4
58857d:	f6 45 09 01          	testb  $0x1,0x9(%ebp)
588581:	75 71                	jne    0x5885f4
588583:	8b 55 08             	mov    0x8(%ebp),%edx
588586:	8b c3                	mov    %ebx,%eax
588588:	e8 4b f6 ff ff       	call   0x587bd8
58858d:	8b f0                	mov    %eax,%esi
58858f:	8b 43 28             	mov    0x28(%ebx),%eax
588592:	3d 20 42 47 52       	cmp    $0x52474220,%eax
588597:	74 07                	je     0x5885a0
588599:	3d 20 59 4d 43       	cmp    $0x434d5920,%eax
58859e:	75 0a                	jne    0x5885aa
5885a0:	c7 86 5e 01 00 00 50 	movl   $0x57f950,0x15e(%esi)
5885a7:	f9 57 00
5885aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5885ad:	83 e0 07             	and    $0x7,%eax
5885b0:	83 f8 01             	cmp    $0x1,%eax
5885b3:	75 1e                	jne    0x5885d3
5885b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5885b8:	e8 63 4d ff ff       	call   0x57d320
5885bd:	83 f8 03             	cmp    $0x3,%eax
5885c0:	75 11                	jne    0x5885d3
5885c2:	8b c6                	mov    %esi,%eax
5885c4:	e8 73 fb ff ff       	call   0x58813c
5885c9:	8b f0                	mov    %eax,%esi
5885cb:	85 f6                	test   %esi,%esi
5885cd:	75 04                	jne    0x5885d3
5885cf:	33 c0                	xor    %eax,%eax
5885d1:	eb 43                	jmp    0x588616
5885d3:	85 f6                	test   %esi,%esi
5885d5:	74 08                	je     0x5885df
5885d7:	89 b3 bc 00 00 00    	mov    %esi,0xbc(%ebx)
5885dd:	eb 0b                	jmp    0x5885ea
5885df:	8b c3                	mov    %ebx,%eax
5885e1:	e8 d2 6d ff ff       	call   0x57f3b8
5885e6:	33 c0                	xor    %eax,%eax
5885e8:	eb 2c                	jmp    0x588616
5885ea:	8b 55 08             	mov    0x8(%ebp),%edx
5885ed:	8b c3                	mov    %ebx,%eax
5885ef:	e8 8c 9a ff ff       	call   0x582080
5885f4:	8b 55 fc             	mov    -0x4(%ebp),%edx
5885f7:	8b c3                	mov    %ebx,%eax
5885f9:	e8 fe 56 ff ff       	call   0x57dcfc
5885fe:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
588604:	8b 55 18             	mov    0x18(%ebp),%edx
588607:	8b c3                	mov    %ebx,%eax
588609:	e8 5a 67 ff ff       	call   0x57ed68
58860e:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
588614:	8b c3                	mov    %ebx,%eax
588616:	5f                   	pop    %edi
588617:	5e                   	pop    %esi
588618:	5b                   	pop    %ebx
588619:	8b e5                	mov    %ebp,%esp
58861b:	5d                   	pop    %ebp
58861c:	c2 14 00             	ret    $0x14
58861f:	90                   	nop
588620:	55                   	push   %ebp
588621:	8b ec                	mov    %esp,%ebp
588623:	53                   	push   %ebx
588624:	8b 5d 10             	mov    0x10(%ebp),%ebx
588627:	53                   	push   %ebx
588628:	6a 00                	push   $0x0
58862a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
58862d:	53                   	push   %ebx
58862e:	6a 03                	push   $0x3
588630:	8b 5d 08             	mov    0x8(%ebp),%ebx
588633:	53                   	push   %ebx