58c180:	74 3a                	je     0x58c1bc
58c182:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
58c188:	77 32                	ja     0x58c1bc
58c18a:	68 a4 0d 00 00       	push   $0xda4
58c18f:	68 08 6f 66 00       	push   $0x666f08
58c194:	52                   	push   %edx
58c195:	e8 36 5f f5 ff       	call   0x4e20d0
58c19a:	83 c4 0c             	add    $0xc,%esp
58c19d:	89 87 38 05 00 00    	mov    %eax,0x538(%edi)
58c1a3:	85 c0                	test   %eax,%eax
58c1a5:	0f 85 90 00 00 00    	jne    0x58c23b
58c1ab:	68 a5 0d 00 00       	push   $0xda5
58c1b0:	68 08 6f 66 00       	push   $0x666f08
58c1b5:	6a 44                	push   $0x44
58c1b7:	e9 1f fe ff ff       	jmp    0x58bfdb
58c1bc:	68 a1 0d 00 00       	push   $0xda1
58c1c1:	68 08 6f 66 00       	push   $0x666f08
58c1c6:	68 3f 01 00 00       	push   $0x13f
58c1cb:	e9 0b fe ff ff       	jmp    0x58bfdb
58c1d0:	68 a9 0d 00 00       	push   $0xda9
58c1d5:	68 08 6f 66 00       	push   $0x666f08
58c1da:	68 40 01 00 00       	push   $0x140
58c1df:	e9 f7 fd ff ff       	jmp    0x58bfdb
58c1e4:	8b 44 24 10          	mov    0x10(%esp),%eax
58c1e8:	be 01 00 00 00       	mov    $0x1,%esi
58c1ed:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c1f1:	5f                   	pop    %edi
58c1f2:	89 88 34 05 00 00    	mov    %ecx,0x534(%eax)
58c1f8:	8b c6                	mov    %esi,%eax
58c1fa:	5e                   	pop    %esi
58c1fb:	5b                   	pop    %ebx
58c1fc:	c3                   	ret
58c1fd:	8b 44 24 10          	mov    0x10(%esp),%eax
58c201:	5f                   	pop    %edi
58c202:	8b b0 3c 05 00 00    	mov    0x53c(%eax),%esi
58c208:	8b c6                	mov    %esi,%eax
58c20a:	5e                   	pop    %esi
58c20b:	5b                   	pop    %ebx
58c20c:	c3                   	ret
58c20d:	8b 44 24 10          	mov    0x10(%esp),%eax
58c211:	be 01 00 00 00       	mov    $0x1,%esi
58c216:	8b 4c 24 18          	mov    0x18(%esp),%ecx
58c21a:	5f                   	pop    %edi
58c21b:	89 88 3c 05 00 00    	mov    %ecx,0x53c(%eax)
58c221:	8b c6                	mov    %esi,%eax
58c223:	5e                   	pop    %esi
58c224:	5b                   	pop    %ebx
58c225:	c3                   	ret
58c226:	8b 44 24 10          	mov    0x10(%esp),%eax
58c22a:	be 01 00 00 00       	mov    $0x1,%esi
58c22f:	8b 88 50 05 00 00    	mov    0x550(%eax),%ecx
58c235:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c239:	89 08                	mov    %ecx,(%eax)
58c23b:	8b c6                	mov    %esi,%eax
58c23d:	5f                   	pop    %edi
58c23e:	5e                   	pop    %esi
58c23f:	5b                   	pop    %ebx
58c240:	c3                   	ret
58c241:	8b 44 24 10          	mov    0x10(%esp),%eax
58c245:	be 01 00 00 00       	mov    $0x1,%esi
58c24a:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c24e:	5f                   	pop    %edi
58c24f:	89 88 50 05 00 00    	mov    %ecx,0x550(%eax)
58c255:	8b c6                	mov    %esi,%eax
58c257:	5e                   	pop    %esi
58c258:	5b                   	pop    %ebx
58c259:	c3                   	ret
58c25a:	8b 44 24 10          	mov    0x10(%esp),%eax
58c25e:	be 01 00 00 00       	mov    $0x1,%esi
58c263:	5f                   	pop    %edi
58c264:	8b 88 4c 05 00 00    	mov    0x54c(%eax),%ecx
58c26a:	8b 44 24 18          	mov    0x18(%esp),%eax
58c26e:	89 08                	mov    %ecx,(%eax)
58c270:	8b c6                	mov    %esi,%eax
58c272:	5e                   	pop    %esi
58c273:	5b                   	pop    %ebx
58c274:	c3                   	ret
58c275:	8b 44 24 10          	mov    0x10(%esp),%eax
58c279:	be 01 00 00 00       	mov    $0x1,%esi
58c27e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58c282:	5f                   	pop    %edi
58c283:	89 88 4c 05 00 00    	mov    %ecx,0x54c(%eax)
58c289:	8b c6                	mov    %esi,%eax
58c28b:	5e                   	pop    %esi
58c28c:	5b                   	pop    %ebx
58c28d:	c3                   	ret
58c28e:	8b 54 24 10          	mov    0x10(%esp),%edx
58c292:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c296:	8b 8a 54 05 00 00    	mov    0x554(%edx),%ecx
58c29c:	89 08                	mov    %ecx,(%eax)
58c29e:	8b 82 58 05 00 00    	mov    0x558(%edx),%eax
58c2a4:	85 c0                	test   %eax,%eax
58c2a6:	74 07                	je     0x58c2af
58c2a8:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
58c2ad:	76 8e                	jbe    0x58c23d
58c2af:	5f                   	pop    %edi
58c2b0:	5e                   	pop    %esi
58c2b1:	83 c8 ff             	or     $0xffffffff,%eax
58c2b4:	5b                   	pop    %ebx
58c2b5:	c3                   	ret
58c2b6:	8b 74 24 10          	mov    0x10(%esp),%esi
58c2ba:	68 d7 0d 00 00       	push   $0xdd7
58c2bf:	68 08 6f 66 00       	push   $0x666f08
58c2c4:	ff b6 54 05 00 00    	push   0x554(%esi)
58c2ca:	e8 b1 44 f5 ff       	call   0x4e0780
58c2cf:	8b 44 24 28          	mov    0x28(%esp),%eax
58c2d3:	83 c4 0c             	add    $0xc,%esp
58c2d6:	89 86 54 05 00 00    	mov    %eax,0x554(%esi)
58c2dc:	8b 44 24 18          	mov    0x18(%esp),%eax
58c2e0:	89 86 58 05 00 00    	mov    %eax,0x558(%esi)
58c2e6:	be 01 00 00 00       	mov    $0x1,%esi
58c2eb:	5f                   	pop    %edi
58c2ec:	8b c6                	mov    %esi,%eax
58c2ee:	5e                   	pop    %esi
58c2ef:	5b                   	pop    %ebx
58c2f0:	c3                   	ret
58c2f1:	ff 74 24 1c          	push   0x1c(%esp)
58c2f5:	6a 00                	push   $0x0
58c2f7:	ff 74 24 18          	push   0x18(%esp)
58c2fb:	39 74 24 24          	cmp    %esi,0x24(%esp)
58c2ff:	74 0c                	je     0x58c30d
58c301:	e8 4a f1 ff ff       	call   0x58b450
58c306:	83 c4 0c             	add    $0xc,%esp
58c309:	5f                   	pop    %edi
58c30a:	5e                   	pop    %esi
58c30b:	5b                   	pop    %ebx
58c30c:	c3                   	ret
58c30d:	e8 8e f0 ff ff       	call   0x58b3a0
58c312:	83 c4 0c             	add    $0xc,%esp
58c315:	5f                   	pop    %edi
58c316:	5e                   	pop    %esi
58c317:	5b                   	pop    %ebx
58c318:	c3                   	ret
58c319:	ff 74 24 1c          	push   0x1c(%esp)
58c31d:	6a 00                	push   $0x0
58c31f:	ff 74 24 18          	push   0x18(%esp)
58c323:	39 74 24 24          	cmp    %esi,0x24(%esp)
58c327:	74 0c                	je     0x58c335
58c329:	e8 d2 ee ff ff       	call   0x58b200
58c32e:	83 c4 0c             	add    $0xc,%esp
58c331:	5f                   	pop    %edi
58c332:	5e                   	pop    %esi
58c333:	5b                   	pop    %ebx
58c334:	c3                   	ret
58c335:	e8 36 ee ff ff       	call   0x58b170
58c33a:	83 c4 0c             	add    $0xc,%esp
58c33d:	5f                   	pop    %edi
58c33e:	5e                   	pop    %esi
58c33f:	5b                   	pop    %ebx
58c340:	c3                   	ret
58c341:	8b 44 24 10          	mov    0x10(%esp),%eax
58c345:	be 01 00 00 00       	mov    $0x1,%esi
58c34a:	5f                   	pop    %edi
58c34b:	8b 80 04 04 00 00    	mov    0x404(%eax),%eax
58c351:	8b 00                	mov    (%eax),%eax
58c353:	8b 48 08             	mov    0x8(%eax),%ecx
58c356:	8b 44 24 18          	mov    0x18(%esp),%eax
58c35a:	89 08                	mov    %ecx,(%eax)
58c35c:	8b c6                	mov    %esi,%eax
58c35e:	5e                   	pop    %esi
58c35f:	5b                   	pop    %ebx
58c360:	c3                   	ret
58c361:	8b 44 24 10          	mov    0x10(%esp),%eax
58c365:	ff 74 24 1c          	push   0x1c(%esp)
58c369:	ff b0 04 04 00 00    	push   0x404(%eax)
58c36f:	e8 ac ef ff ff       	call   0x58b320
58c374:	83 c4 08             	add    $0x8,%esp
58c377:	5f                   	pop    %edi
58c378:	5e                   	pop    %esi
58c379:	5b                   	pop    %ebx
58c37a:	c3                   	ret
58c37b:	8b 44 24 18          	mov    0x18(%esp),%eax
58c37f:	83 f8 03             	cmp    $0x3,%eax
58c382:	75 4c                	jne    0x58c3d0
58c384:	8b 44 24 10          	mov    0x10(%esp),%eax
58c388:	39 70 1c             	cmp    %esi,0x1c(%eax)
58c38b:	0f 84 59 fc ff ff    	je     0x58bfea
58c391:	8b 50 7c             	mov    0x7c(%eax),%edx
58c394:	8b 8a 10 02 00 00    	mov    0x210(%edx),%ecx
58c39a:	85 c9                	test   %ecx,%ecx
58c39c:	0f 84 48 fc ff ff    	je     0x58bfea
58c3a2:	f6 41 14 44          	testb  $0x44,0x14(%ecx)
58c3a6:	74 09                	je     0x58c3b1
58c3a8:	5f                   	pop    %edi
58c3a9:	5e                   	pop    %esi
58c3aa:	b8 02 00 00 00       	mov    $0x2,%eax
58c3af:	5b                   	pop    %ebx
58c3b0:	c3                   	ret
58c3b1:	8b 8a 64 02 00 00    	mov    0x264(%edx),%ecx
58c3b7:	85 c9                	test   %ecx,%ecx
58c3b9:	0f 84 2b fc ff ff    	je     0x58bfea
58c3bf:	8b 80 04 04 00 00    	mov    0x404(%eax),%eax
58c3c5:	5f                   	pop    %edi
58c3c6:	5e                   	pop    %esi
58c3c7:	5b                   	pop    %ebx
58c3c8:	89 08                	mov    %ecx,(%eax)
58c3ca:	b8 01 00 00 00       	mov    $0x1,%eax
58c3cf:	c3                   	ret
58c3d0:	50                   	push   %eax
58c3d1:	8b 44 24 14          	mov    0x14(%esp),%eax
58c3d5:	ff b0 04 04 00 00    	push   0x404(%eax)
58c3db:	e8 00 f1 ff ff       	call   0x58b4e0
58c3e0:	83 c4 08             	add    $0x8,%esp
58c3e3:	5f                   	pop    %edi
58c3e4:	5e                   	pop    %esi
58c3e5:	5b                   	pop    %ebx
58c3e6:	c3                   	ret
58c3e7:	8b 7c 24 10          	mov    0x10(%esp),%edi
58c3eb:	39 b7 74 04 00 00    	cmp    %esi,0x474(%edi)
58c3f1:	0f 84 f3 fb ff ff    	je     0x58bfea
58c3f7:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
58c3fb:	55                   	push   %ebp
58c3fc:	8b af 7c 05 00 00    	mov    0x57c(%edi),%ebp
58c402:	8b bf 78 05 00 00    	mov    0x578(%edi),%edi
58c408:	85 db                	test   %ebx,%ebx
58c40a:	74 2e                	je     0x58c43a
58c40c:	33 f6                	xor    %esi,%esi
58c40e:	85 ff                	test   %edi,%edi
58c410:	74 28                	je     0x58c43a
58c412:	0f b7 44 75 00       	movzwl 0x0(%ebp,%esi,2),%eax
58c417:	50                   	push   %eax
58c418:	e8 d3 d7 00 00       	call   0x599bf0
58c41d:	83 c4 04             	add    $0x4,%esp
58c420:	85 c0                	test   %eax,%eax
58c422:	74 04                	je     0x58c428
58c424:	8b 00                	mov    (%eax),%eax
58c426:	eb 0a                	jmp    0x58c432
58c428:	0f b7 44 75 00       	movzwl 0x0(%ebp,%esi,2),%eax
58c42d:	0d 00 00 00 01       	or     $0x1000000,%eax
58c432:	89 04 b3             	mov    %eax,(%ebx,%esi,4)
58c435:	46                   	inc    %esi
58c436:	3b f7                	cmp    %edi,%esi
58c438:	72 d8                	jb     0x58c412
58c43a:	5d                   	pop    %ebp
58c43b:	8b c7                	mov    %edi,%eax
58c43d:	5f                   	pop    %edi
58c43e:	5e                   	pop    %esi
58c43f:	5b                   	pop    %ebx
58c440:	c3                   	ret
58c441:	ff 74 24 18          	push   0x18(%esp)
58c445:	ff 74 24 20          	push   0x20(%esp)
58c449:	e9 c9 fc ff ff       	jmp    0x58c117
58c44e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58c452:	ff 74 24 1c          	push   0x1c(%esp)
58c456:	8d 81 70 05 00 00    	lea    0x570(%ecx),%eax
58c45c:	50                   	push   %eax
58c45d:	8d 81 74 05 00 00    	lea    0x574(%ecx),%eax
58c463:	50                   	push   %eax
58c464:	e8 57 dd 00 00       	call   0x59a1c0
58c469:	83 c4 0c             	add    $0xc,%esp
58c46c:	5f                   	pop    %edi
58c46d:	5e                   	pop    %esi
58c46e:	5b                   	pop    %ebx
58c46f:	c3                   	ret
58c470:	8b 74 24 18          	mov    0x18(%esp),%esi
58c474:	56                   	push   %esi
58c475:	ff 74 24 14          	push   0x14(%esp)
58c479:	e8 92 e3 00 00       	call   0x59a810
58c47e:	83 c4 08             	add    $0x8,%esp
58c481:	0f b7 c0             	movzwl %ax,%eax
58c484:	83 fe ff             	cmp    $0xffffffff,%esi
58c487:	0f 84 b0 fd ff ff    	je     0x58c23d
58c48d:	50                   	push   %eax
58c48e:	e8 5d d7 00 00       	call   0x599bf0
58c493:	83 c4 04             	add    $0x4,%esp
58c496:	85 c0                	test   %eax,%eax
58c498:	0f 84 4c fb ff ff    	je     0x58bfea
58c49e:	8b 00                	mov    (%eax),%eax
58c4a0:	5f                   	pop    %edi
58c4a1:	5e                   	pop    %esi
58c4a2:	5b                   	pop    %ebx
58c4a3:	c3                   	ret
58c4a4:	8b 44 24 10          	mov    0x10(%esp),%eax
58c4a8:	6a 00                	push   $0x0
58c4aa:	ff 74 24 1c          	push   0x1c(%esp)
58c4ae:	ff 74 24 24          	push   0x24(%esp)
58c4b2:	ff b0 04 04 00 00    	push   0x404(%eax)
58c4b8:	e8 c3 e0 00 00       	call   0x59a580
58c4bd:	83 c4 10             	add    $0x10,%esp
58c4c0:	5f                   	pop    %edi
58c4c1:	5e                   	pop    %esi
58c4c2:	5b                   	pop    %ebx
58c4c3:	c3                   	ret
58c4c4:	8b 44 24 10          	mov    0x10(%esp),%eax
58c4c8:	6a 00                	push   $0x0
58c4ca:	ff 74 24 20          	push   0x20(%esp)
58c4ce:	ff b0 04 04 00 00    	push   0x404(%eax)
58c4d4:	e8 f7 e1 00 00       	call   0x59a6d0
58c4d9:	83 c4 0c             	add    $0xc,%esp
58c4dc:	5f                   	pop    %edi
58c4dd:	5e                   	pop    %esi
58c4de:	5b                   	pop    %ebx
58c4df:	c3                   	ret
58c4e0:	8b 44 24 10          	mov    0x10(%esp),%eax
58c4e4:	6a 01                	push   $0x1
58c4e6:	ff 74 24 1c          	push   0x1c(%esp)
58c4ea:	ff 74 24 24          	push   0x24(%esp)
58c4ee:	ff b0 04 04 00 00    	push   0x404(%eax)
58c4f4:	e8 87 e0 00 00       	call   0x59a580
58c4f9:	83 c4 10             	add    $0x10,%esp
58c4fc:	5f                   	pop    %edi
58c4fd:	5e                   	pop    %esi
58c4fe:	5b                   	pop    %ebx
58c4ff:	c3                   	ret
58c500:	8b 44 24 10          	mov    0x10(%esp),%eax
58c504:	6a 01                	push   $0x1
58c506:	ff 74 24 20          	push   0x20(%esp)
58c50a:	ff b0 04 04 00 00    	push   0x404(%eax)
58c510:	e8 bb e1 00 00       	call   0x59a6d0
58c515:	83 c4 0c             	add    $0xc,%esp
58c518:	5f                   	pop    %edi
58c519:	5e                   	pop    %esi
58c51a:	5b                   	pop    %ebx
58c51b:	c3                   	ret
58c51c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58c520:	39 71 1c             	cmp    %esi,0x1c(%ecx)
58c523:	0f 85 c1 fa ff ff    	jne    0x58bfea
58c529:	8b 41 7c             	mov    0x7c(%ecx),%eax
58c52c:	39 b0 18 02 00 00    	cmp    %esi,0x218(%eax)
58c532:	0f 84 b2 fa ff ff    	je     0x58bfea
58c538:	8b 54 24 1c          	mov    0x1c(%esp),%edx
58c53c:	85 d2                	test   %edx,%edx
58c53e:	74 0b                	je     0x58c54b
58c540:	8b 80 1c 02 00 00    	mov    0x21c(%eax),%eax
58c546:	89 02                	mov    %eax,(%edx)
58c548:	8b 41 7c             	mov    0x7c(%ecx),%eax
58c54b:	8b 80 20 02 00 00    	mov    0x220(%eax),%eax
58c551:	5f                   	pop    %edi
58c552:	5e                   	pop    %esi
58c553:	5b                   	pop    %ebx
58c554:	c3                   	ret
58c555:	8b 44 24 10          	mov    0x10(%esp),%eax
58c559:	39 70 1c             	cmp    %esi,0x1c(%eax)
58c55c:	0f 84 88 fa ff ff    	je     0x58bfea
58c562:	ff 74 24 18          	push   0x18(%esp)
58c566:	ff 74 24 20          	push   0x20(%esp)
58c56a:	ff b0 04 04 00 00    	push   0x404(%eax)
58c570:	e8 ab 11 00 00       	call   0x58d720
58c575:	83 c4 0c             	add    $0xc,%esp
58c578:	5f                   	pop    %edi
58c579:	5e                   	pop    %esi
58c57a:	5b                   	pop    %ebx
58c57b:	c3                   	ret
58c57c:	ff 74 24 18          	push   0x18(%esp)
58c580:	6a 00                	push   $0x0
58c582:	ff 74 24 18          	push   0x18(%esp)
58c586:	e8 d5 e8 ff ff       	call   0x58ae60
58c58b:	83 c4 0c             	add    $0xc,%esp
58c58e:	5f                   	pop    %edi
58c58f:	5e                   	pop    %esi