5802ff:	74 20                	je     0x580321
580301:	8b 48 04             	mov    0x4(%eax),%ecx
580304:	68 93 01 00 00       	push   $0x193
580309:	68 c4 b6 65 00       	push   $0x65b6c4
58030e:	50                   	push   %eax
58030f:	ff 49 08             	decl   0x8(%ecx)
580312:	e8 69 04 f6 ff       	call   0x4e0780
580317:	56                   	push   %esi
580318:	57                   	push   %edi
580319:	e8 22 4a f6 ff       	call   0x4e4d40
58031e:	83 c4 14             	add    $0x14,%esp
580321:	83 ee 01             	sub    $0x1,%esi
580324:	79 ca                	jns    0x5802f0
580326:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
58032a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
580330:	8b 7b f4             	mov    -0xc(%ebx),%edi
580333:	83 c3 f0             	add    $0xfffffff0,%ebx
580336:	57                   	push   %edi
580337:	e8 84 4d f6 ff       	call   0x4e50c0
58033c:	8b f0                	mov    %eax,%esi
58033e:	83 c4 04             	add    $0x4,%esp
580341:	83 ee 01             	sub    $0x1,%esi
580344:	78 35                	js     0x58037b
580346:	56                   	push   %esi
580347:	57                   	push   %edi
580348:	e8 33 4f f6 ff       	call   0x4e5280
58034d:	83 c4 08             	add    $0x8,%esp
580350:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
580354:	75 20                	jne    0x580376
580356:	8b 48 04             	mov    0x4(%eax),%ecx
580359:	68 a0 01 00 00       	push   $0x1a0
58035e:	68 c4 b6 65 00       	push   $0x65b6c4
580363:	50                   	push   %eax
580364:	ff 49 08             	decl   0x8(%ecx)
580367:	e8 14 04 f6 ff       	call   0x4e0780
58036c:	56                   	push   %esi
58036d:	57                   	push   %edi
58036e:	e8 cd 49 f6 ff       	call   0x4e4d40
580373:	83 c4 14             	add    $0x14,%esp
580376:	83 ee 01             	sub    $0x1,%esi
580379:	79 cb                	jns    0x580346
58037b:	8b 43 08             	mov    0x8(%ebx),%eax
58037e:	8b c8                	mov    %eax,%ecx
580380:	85 c0                	test   %eax,%eax
580382:	74 2f                	je     0x5803b3
580384:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
580388:	75 29                	jne    0x5803b3
58038a:	8b 48 04             	mov    0x4(%eax),%ecx
58038d:	85 c9                	test   %ecx,%ecx
58038f:	74 06                	je     0x580397
580391:	ff 49 08             	decl   0x8(%ecx)
580394:	8b 43 08             	mov    0x8(%ebx),%eax
580397:	68 a7 01 00 00       	push   $0x1a7
58039c:	68 c4 b6 65 00       	push   $0x65b6c4
5803a1:	50                   	push   %eax
5803a2:	e8 d9 03 f6 ff       	call   0x4e0780
5803a7:	83 c4 0c             	add    $0xc,%esp
5803aa:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
5803b1:	33 c9                	xor    %ecx,%ecx
5803b3:	3b 5d 00             	cmp    0x0(%ebp),%ebx
5803b6:	0f 85 74 ff ff ff    	jne    0x580330
5803bc:	8b 6c 24 20          	mov    0x20(%esp),%ebp
5803c0:	85 c9                	test   %ecx,%ecx
5803c2:	74 3f                	je     0x580403
5803c4:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5803c8:	83 c5 10             	add    $0x10,%ebp
5803cb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5803cf:	41                   	inc    %ecx
5803d0:	8b 7c 24 10          	mov    0x10(%esp),%edi
5803d4:	83 c7 10             	add    $0x10,%edi
5803d7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5803db:	89 7c 24 10          	mov    %edi,0x10(%esp)
5803df:	89 6c 24 20          	mov    %ebp,0x20(%esp)
5803e3:	3b 48 04             	cmp    0x4(%eax),%ecx
5803e6:	0f 8c d8 fd ff ff    	jl     0x5801c4
5803ec:	5f                   	pop    %edi
5803ed:	5e                   	pop    %esi
5803ee:	5d                   	pop    %ebp
5803ef:	b8 01 00 00 00       	mov    $0x1,%eax
5803f4:	5b                   	pop    %ebx
5803f5:	83 c4 18             	add    $0x18,%esp
5803f8:	c3                   	ret
5803f9:	5f                   	pop    %edi
5803fa:	5e                   	pop    %esi
5803fb:	5d                   	pop    %ebp
5803fc:	33 c0                	xor    %eax,%eax
5803fe:	5b                   	pop    %ebx
5803ff:	83 c4 18             	add    $0x18,%esp
580402:	c3                   	ret
580403:	5f                   	pop    %edi
580404:	5e                   	pop    %esi
580405:	5d                   	pop    %ebp
580406:	b8 02 00 00 00       	mov    $0x2,%eax
58040b:	5b                   	pop    %ebx
58040c:	83 c4 18             	add    $0x18,%esp
58040f:	c3                   	ret
580410:	b8 14 00 00 00       	mov    $0x14,%eax
580415:	e8 96 13 05 00       	call   0x5d17b0
58041a:	53                   	push   %ebx
58041b:	55                   	push   %ebp
58041c:	56                   	push   %esi
58041d:	8b 74 24 28          	mov    0x28(%esp),%esi
580421:	57                   	push   %edi
580422:	56                   	push   %esi
580423:	e8 98 4c f6 ff       	call   0x4e50c0
580428:	8b 4c 24 34          	mov    0x34(%esp),%ecx
58042c:	83 c4 04             	add    $0x4,%esp
58042f:	f7 c1 00 01 00 00    	test   $0x100,%ecx
580435:	bf 00 00 00 00       	mov    $0x0,%edi
58043a:	bd 00 00 00 00       	mov    $0x0,%ebp
58043f:	8d 50 ff             	lea    -0x1(%eax),%edx
580442:	b8 00 00 00 00       	mov    $0x0,%eax
580447:	8d 5a 01             	lea    0x1(%edx),%ebx
58044a:	89 54 24 1c          	mov    %edx,0x1c(%esp)
58044e:	0f 44 fb             	cmove  %ebx,%edi
580451:	89 5c 24 20          	mov    %ebx,0x20(%esp)
580455:	f7 c1 00 02 00 00    	test   $0x200,%ecx
58045b:	0f 44 c3             	cmove  %ebx,%eax
58045e:	f7 c1 00 04 00 00    	test   $0x400,%ecx
580464:	89 44 24 10          	mov    %eax,0x10(%esp)
580468:	8b 44 24 28          	mov    0x28(%esp),%eax
58046c:	0f 44 eb             	cmove  %ebx,%ebp
58046f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
580475:	85 d2                	test   %edx,%edx
580477:	75 0b                	jne    0x580484
580479:	5f                   	pop    %edi
58047a:	5e                   	pop    %esi
58047b:	5d                   	pop    %ebp
58047c:	8d 42 02             	lea    0x2(%edx),%eax
58047f:	5b                   	pop    %ebx
580480:	83 c4 14             	add    $0x14,%esp
580483:	c3                   	ret
580484:	8d 42 ff             	lea    -0x1(%edx),%eax
580487:	8b d8                	mov    %eax,%ebx
580489:	89 44 24 30          	mov    %eax,0x30(%esp)
58048d:	85 db                	test   %ebx,%ebx
58048f:	78 31                	js     0x5804c2
580491:	53                   	push   %ebx
580492:	56                   	push   %esi
580493:	e8 e8 4d f6 ff       	call   0x4e5280
580498:	6a 00                	push   $0x0
58049a:	8b f0                	mov    %eax,%esi
58049c:	6a ff                	push   $0xffffffff
58049e:	56                   	push   %esi
58049f:	e8 6c c0 fd ff       	call   0x55c510
5804a4:	56                   	push   %esi
5804a5:	e8 d6 12 ff ff       	call   0x571780
5804aa:	83 c4 18             	add    $0x18,%esp
5804ad:	85 c0                	test   %eax,%eax
5804af:	0f 84 93 01 00 00    	je     0x580648
5804b5:	83 eb 01             	sub    $0x1,%ebx
5804b8:	8b 74 24 2c          	mov    0x2c(%esp),%esi
5804bc:	79 d3                	jns    0x580491
5804be:	8b 44 24 30          	mov    0x30(%esp),%eax
5804c2:	8b f0                	mov    %eax,%esi
5804c4:	bb 01 00 00 00       	mov    $0x1,%ebx
5804c9:	85 f6                	test   %esi,%esi
5804cb:	78 75                	js     0x580542
5804cd:	0f 1f 00             	nopl   (%eax)
5804d0:	85 ff                	test   %edi,%edi
5804d2:	7f 05                	jg     0x5804d9
5804d4:	f6 c3 02             	test   $0x2,%bl
5804d7:	75 69                	jne    0x580542
5804d9:	56                   	push   %esi
5804da:	ff 74 24 30          	push   0x30(%esp)
5804de:	e8 9d 4d f6 ff       	call   0x4e5280
5804e3:	50                   	push   %eax
5804e4:	89 44 24 20          	mov    %eax,0x20(%esp)
5804e8:	e8 b3 c0 fd ff       	call   0x55c5a0
5804ed:	83 c4 0c             	add    $0xc,%esp
5804f0:	89 44 24 18          	mov    %eax,0x18(%esp)
5804f4:	a9 00 08 00 00       	test   $0x800,%eax
5804f9:	0f 85 9c 00 00 00    	jne    0x58059b
5804ff:	ff 74 24 14          	push   0x14(%esp)
580503:	e8 78 12 ff ff       	call   0x571780
580508:	83 c4 04             	add    $0x4,%esp
58050b:	8b d0                	mov    %eax,%edx
58050d:	f6 c3 01             	test   $0x1,%bl
580510:	74 0c                	je     0x58051e
580512:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
580516:	b8 02 00 00 00       	mov    $0x2,%eax
58051b:	0f 44 d8             	cmove  %eax,%ebx
58051e:	85 ff                	test   %edi,%edi
580520:	7e 1b                	jle    0x58053d
580522:	f6 44 24 18 20       	testb  $0x20,0x18(%esp)
580527:	8d 47 ff             	lea    -0x1(%edi),%eax
58052a:	0f 45 c7             	cmovne %edi,%eax
58052d:	8b f8                	mov    %eax,%edi
58052f:	8b 42 0c             	mov    0xc(%edx),%eax
580532:	8b cf                	mov    %edi,%ecx
580534:	85 c0                	test   %eax,%eax
580536:	78 05                	js     0x58053d
580538:	3b c1                	cmp    %ecx,%eax
58053a:	0f 4c f8             	cmovl  %eax,%edi
58053d:	83 ee 01             	sub    $0x1,%esi
580540:	79 8e                	jns    0x5804d0
580542:	8b c3                	mov    %ebx,%eax
580544:	83 c8 04             	or     $0x4,%eax
580547:	85 ff                	test   %edi,%edi
580549:	0f 45 c3             	cmovne %ebx,%eax
58054c:	89 44 24 14          	mov    %eax,0x14(%esp)
580550:	a8 01                	test   $0x1,%al
580552:	0f 84 f2 00 00 00    	je     0x58064a
580558:	68 a6 00 00 00       	push   $0xa6
58055d:	68 c4 b6 65 00       	push   $0x65b6c4
580562:	6a 18                	push   $0x18
580564:	e8 d7 04 f6 ff       	call   0x4e0a40
580569:	8b d8                	mov    %eax,%ebx
58056b:	83 c4 0c             	add    $0xc,%esp
58056e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
580572:	85 db                	test   %ebx,%ebx
580574:	75 30                	jne    0x5805a6
580576:	68 a7 00 00 00       	push   $0xa7
58057b:	68 c4 b6 65 00       	push   $0x65b6c4
580580:	6a 41                	push   $0x41
580582:	68 ac 00 00 00       	push   $0xac
580587:	6a 22                	push   $0x22
580589:	e8 f2 89 f5 ff       	call   0x4d8f80
58058e:	83 c4 14             	add    $0x14,%esp
580591:	33 c0                	xor    %eax,%eax
580593:	5f                   	pop    %edi
580594:	5e                   	pop    %esi
580595:	5d                   	pop    %ebp
580596:	5b                   	pop    %ebx
580597:	83 c4 14             	add    $0x14,%esp
58059a:	c3                   	ret
58059b:	5f                   	pop    %edi
58059c:	5e                   	pop    %esi
58059d:	5d                   	pop    %ebp
58059e:	83 c8 ff             	or     $0xffffffff,%eax
5805a1:	5b                   	pop    %ebx
5805a2:	83 c4 14             	add    $0x14,%esp
5805a5:	c3                   	ret
5805a6:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5805aa:	68 b2 00 00 00       	push   $0xb2
5805af:	40                   	inc    %eax
5805b0:	c1 e0 04             	shl    $0x4,%eax
5805b3:	68 c4 b6 65 00       	push   $0x65b6c4
5805b8:	50                   	push   %eax
5805b9:	e8 82 04 f6 ff       	call   0x4e0a40
5805be:	83 c4 0c             	add    $0xc,%esp
5805c1:	89 03                	mov    %eax,(%ebx)
5805c3:	85 c0                	test   %eax,%eax
5805c5:	75 35                	jne    0x5805fc
5805c7:	68 b3 00 00 00       	push   $0xb3
5805cc:	68 c4 b6 65 00       	push   $0x65b6c4
5805d1:	53                   	push   %ebx
5805d2:	e8 a9 01 f6 ff       	call   0x4e0780
5805d7:	68 b4 00 00 00       	push   $0xb4
5805dc:	68 c4 b6 65 00       	push   $0x65b6c4
5805e1:	6a 41                	push   $0x41
5805e3:	68 ac 00 00 00       	push   $0xac
5805e8:	6a 22                	push   $0x22
5805ea:	e8 91 89 f5 ff       	call   0x4d8f80
5805ef:	83 c4 20             	add    $0x20,%esp
5805f2:	33 c0                	xor    %eax,%eax
5805f4:	5f                   	pop    %edi
5805f5:	5e                   	pop    %esi
5805f6:	5d                   	pop    %ebp
5805f7:	5b                   	pop    %ebx
5805f8:	83 c4 14             	add    $0x14,%esp
5805fb:	c3                   	ret
5805fc:	8b 44 24 20          	mov    0x20(%esp),%eax
580600:	8b 3b                	mov    (%ebx),%edi
580602:	6a 00                	push   $0x0
580604:	68 ea 02 00 00       	push   $0x2ea
580609:	89 43 04             	mov    %eax,0x4(%ebx)
58060c:	e8 cf ee f6 ff       	call   0x4ef4e0
580611:	83 c4 04             	add    $0x4,%esp
580614:	50                   	push   %eax
580615:	6a 00                	push   $0x0
580617:	e8 34 b9 ff ff       	call   0x57bf50
58061c:	8b f0                	mov    %eax,%esi
58061e:	83 c4 0c             	add    $0xc,%esp
580621:	85 f6                	test   %esi,%esi
580623:	74 1a                	je     0x58063f
580625:	53                   	push   %ebx
580626:	6a 00                	push   $0x0
580628:	56                   	push   %esi
580629:	57                   	push   %edi
58062a:	e8 b1 40 00 00       	call   0x5846e0
58062f:	83 c4 10             	add    $0x10,%esp
580632:	85 c0                	test   %eax,%eax
580634:	75 1c                	jne    0x580652
580636:	56                   	push   %esi
580637:	e8 c4 b8 ff ff       	call   0x57bf00
58063c:	83 c4 04             	add    $0x4,%esp
58063f:	53                   	push   %ebx
580640:	e8 2b f9 ff ff       	call   0x57ff70
580645:	83 c4 04             	add    $0x4,%esp
580648:	33 c0                	xor    %eax,%eax
58064a:	5f                   	pop    %edi
58064b:	5e                   	pop    %esi
58064c:	5d                   	pop    %ebp
58064d:	5b                   	pop    %ebx
58064e:	83 c4 14             	add    $0x14,%esp
580651:	c3                   	ret
580652:	8b 44 24 30          	mov    0x30(%esp),%eax
580656:	85 c0                	test   %eax,%eax
580658:	0f 88 b5 00 00 00    	js     0x580713
58065e:	83 c7 0c             	add    $0xc,%edi
580661:	50                   	push   %eax
580662:	ff 74 24 30          	push   0x30(%esp)
580666:	e8 15 4c f6 ff       	call   0x4e5280
58066b:	8b f0                	mov    %eax,%esi
58066d:	56                   	push   %esi
58066e:	e8 2d bf fd ff       	call   0x55c5a0
580673:	56                   	push   %esi
580674:	8b d8                	mov    %eax,%ebx
580676:	e8 05 11 ff ff       	call   0x571780
58067b:	56                   	push   %esi
58067c:	89 44 24 34          	mov    %eax,0x34(%esp)
580680:	e8 2b 08 fa ff       	call   0x520eb0
580685:	8d 7f 10             	lea    0x10(%edi),%edi
580688:	83 c4 14             	add    $0x14,%esp
58068b:	89 77 f4             	mov    %esi,-0xc(%edi)
58068e:	8b 74 24 20          	mov    0x20(%esp),%esi
580692:	83 3e 00             	cmpl   $0x0,(%esi)
580695:	75 06                	jne    0x58069d
580697:	81 0f 00 02 00 00    	orl    $0x200,(%edi)
58069d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5806a1:	83 e3 20             	and    $0x20,%ebx
5806a4:	85 c9                	test   %ecx,%ecx
5806a6:	75 12                	jne    0x5806ba
5806a8:	85 db                	test   %ebx,%ebx
5806aa:	74 06                	je     0x5806b2
5806ac:	39 4c 24 30          	cmp    %ecx,0x30(%esp)
5806b0:	75 28                	jne    0x5806da
5806b2:	81 0f 00 02 00 00    	orl    $0x200,(%edi)
5806b8:	eb 20                	jmp    0x5806da
5806ba:	85 db                	test   %ebx,%ebx
5806bc:	8d 41 ff             	lea    -0x1(%ecx),%eax
5806bf:	0f 45 c1             	cmovne %ecx,%eax
5806c2:	89 44 24 10          	mov    %eax,0x10(%esp)
5806c6:	8b d0                	mov    %eax,%edx
5806c8:	8b 46 08             	mov    0x8(%esi),%eax
5806cb:	85 c0                	test   %eax,%eax
5806cd:	78 0b                	js     0x5806da
5806cf:	3b c2                	cmp    %edx,%eax
5806d1:	8b ca                	mov    %edx,%ecx
5806d3:	0f 4c c8             	cmovl  %eax,%ecx
5806d6:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5806da:	85 ed                	test   %ebp,%ebp
5806dc:	75 08                	jne    0x5806e6
5806de:	81 0f 00 04 00 00    	orl    $0x400,(%edi)
5806e4:	eb 18                	jmp    0x5806fe
5806e6:	85 db                	test   %ebx,%ebx
5806e8:	8d 45 ff             	lea    -0x1(%ebp),%eax
5806eb:	0f 45 c5             	cmovne %ebp,%eax
5806ee:	8b e8                	mov    %eax,%ebp