5801d3:	32 c0                	xor    %al,%al
5801d5:	eb d6                	jmp    0x5801ad
5801d7:	8b 12                	mov    (%edx),%edx
5801d9:	85 d2                	test   %edx,%edx
5801db:	74 5d                	je     0x58023a
5801dd:	83 e9 04             	sub    $0x4,%ecx
5801e0:	72 11                	jb     0x5801f3
5801e2:	8b 06                	mov    (%esi),%eax
5801e4:	3b 02                	cmp    (%edx),%eax
5801e6:	75 10                	jne    0x5801f8
5801e8:	83 c6 04             	add    $0x4,%esi
5801eb:	83 c2 04             	add    $0x4,%edx
5801ee:	83 e9 04             	sub    $0x4,%ecx
5801f1:	73 ef                	jae    0x5801e2
5801f3:	83 f9 fc             	cmp    $0xfffffffc,%ecx
5801f6:	74 39                	je     0x580231
5801f8:	8a 06                	mov    (%esi),%al
5801fa:	3a 02                	cmp    (%edx),%al
5801fc:	75 27                	jne    0x580225
5801fe:	83 f9 fd             	cmp    $0xfffffffd,%ecx
580201:	74 2e                	je     0x580231
580203:	8a 46 01             	mov    0x1(%esi),%al
580206:	3a 42 01             	cmp    0x1(%edx),%al
580209:	75 1a                	jne    0x580225
58020b:	83 f9 fe             	cmp    $0xfffffffe,%ecx
58020e:	74 21                	je     0x580231
580210:	8a 46 02             	mov    0x2(%esi),%al
580213:	3a 42 02             	cmp    0x2(%edx),%al
580216:	75 0d                	jne    0x580225
580218:	83 f9 ff             	cmp    $0xffffffff,%ecx
58021b:	74 14                	je     0x580231
58021d:	8a 46 03             	mov    0x3(%esi),%al
580220:	3a 42 03             	cmp    0x3(%edx),%al
580223:	74 0c                	je     0x580231
580225:	1b c0                	sbb    %eax,%eax
580227:	83 c8 01             	or     $0x1,%eax
58022a:	85 c0                	test   %eax,%eax
58022c:	e9 79 ff ff ff       	jmp    0x5801aa
580231:	33 c0                	xor    %eax,%eax
580233:	85 c0                	test   %eax,%eax
580235:	e9 70 ff ff ff       	jmp    0x5801aa
58023a:	68 88 30 6c 00       	push   $0x6c3088
58023f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
580242:	e8 29 98 ee ff       	call   0x469a70
580247:	8d 45 d8             	lea    -0x28(%ebp),%eax
58024a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
580251:	50                   	push   %eax
580252:	e8 69 1e 00 00       	call   0x5820c0
580257:	cc                   	int3
580258:	cc                   	int3
580259:	cc                   	int3
58025a:	cc                   	int3
58025b:	cc                   	int3
58025c:	cc                   	int3
58025d:	cc                   	int3
58025e:	cc                   	int3
58025f:	cc                   	int3
580260:	55                   	push   %ebp
580261:	8b ec                	mov    %esp,%ebp
580263:	8b 45 08             	mov    0x8(%ebp),%eax
580266:	56                   	push   %esi
580267:	57                   	push   %edi
580268:	8b f9                	mov    %ecx,%edi
58026a:	8b f0                	mov    %eax,%esi
58026c:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
580270:	72 02                	jb     0x580274
580272:	8b 30                	mov    (%eax),%esi
580274:	8b c8                	mov    %eax,%ecx
580276:	72 02                	jb     0x58027a
580278:	8b 08                	mov    (%eax),%ecx
58027a:	8b 40 10             	mov    0x10(%eax),%eax
58027d:	03 c6                	add    %esi,%eax
58027f:	50                   	push   %eax
580280:	51                   	push   %ecx
580281:	8b cf                	mov    %edi,%ecx
580283:	e8 58 19 00 00       	call   0x581be0
580288:	5f                   	pop    %edi
580289:	5e                   	pop    %esi
58028a:	5d                   	pop    %ebp
58028b:	c2 04 00             	ret    $0x4
58028e:	cc                   	int3
58028f:	cc                   	int3
580290:	55                   	push   %ebp
580291:	8b ec                	mov    %esp,%ebp
580293:	6a ff                	push   $0xffffffff
580295:	68 a3 ca 65 00       	push   $0x65caa3
58029a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5802a0:	50                   	push   %eax
5802a1:	81 ec b4 00 00 00    	sub    $0xb4,%esp
5802a7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5802ac:	33 c5                	xor    %ebp,%eax
5802ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
5802b1:	50                   	push   %eax
5802b2:	8d 45 f4             	lea    -0xc(%ebp),%eax
5802b5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5802bb:	8b 45 08             	mov    0x8(%ebp),%eax
5802be:	85 c0                	test   %eax,%eax
5802c0:	78 21                	js     0x5802e3
5802c2:	50                   	push   %eax
5802c3:	e8 68 00 00 00       	call   0x580330
5802c8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5802cb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5802d2:	59                   	pop    %ecx
5802d3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5802d6:	33 cd                	xor    %ebp,%ecx
5802d8:	e8 fd 11 06 00       	call   0x5e14da
5802dd:	8b e5                	mov    %ebp,%esp
5802df:	5d                   	pop    %ebp
5802e0:	c2 04 00             	ret    $0x4
5802e3:	6a 01                	push   $0x1
5802e5:	6a 02                	push   $0x2
5802e7:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
5802ed:	e8 3e ea ff ff       	call   0x57ed30
5802f2:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5802f8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5802ff:	68 d8 32 6c 00       	push   $0x6c32d8
580304:	50                   	push   %eax
580305:	e8 b6 af f1 ff       	call   0x49b2c0
58030a:	83 c4 08             	add    $0x8,%esp
58030d:	8d 45 d8             	lea    -0x28(%ebp),%eax
580310:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
580316:	50                   	push   %eax
580317:	e8 94 eb ff ff       	call   0x57eeb0
58031c:	50                   	push   %eax
58031d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
580321:	e8 9a 1d 00 00       	call   0x5820c0
580326:	cc                   	int3
580327:	cc                   	int3
580328:	cc                   	int3
580329:	cc                   	int3
58032a:	cc                   	int3
58032b:	cc                   	int3
58032c:	cc                   	int3
58032d:	cc                   	int3
58032e:	cc                   	int3
58032f:	cc                   	int3
580330:	55                   	push   %ebp
580331:	8b ec                	mov    %esp,%ebp
580333:	6a ff                	push   $0xffffffff
580335:	68 0a cb 65 00       	push   $0x65cb0a
58033a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
580340:	50                   	push   %eax
580341:	81 ec e0 00 00 00    	sub    $0xe0,%esp
580347:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58034c:	33 c5                	xor    %ebp,%eax
58034e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580351:	53                   	push   %ebx
580352:	56                   	push   %esi
580353:	57                   	push   %edi
580354:	50                   	push   %eax
580355:	8d 45 f4             	lea    -0xc(%ebp),%eax
580358:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58035e:	8b f9                	mov    %ecx,%edi
580360:	8a 47 08             	mov    0x8(%edi),%al
580363:	84 c0                	test   %al,%al
580365:	74 0a                	je     0x580371
580367:	3c 06                	cmp    $0x6,%al
580369:	0f 85 3b 01 00 00    	jne    0x5804aa
58036f:	eb 7b                	jmp    0x5803ec
580371:	c6 45 e0 06          	movb   $0x6,-0x20(%ebp)
580375:	81 65 e0 ff fe ff ff 	andl   $0xfffffeff,-0x20(%ebp)
58037c:	6a 08                	push   $0x8
58037e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
580385:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
58038c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
580393:	e8 aa 0c 06 00       	call   0x5e1042
580398:	8b f0                	mov    %eax,%esi
58039a:	83 c4 04             	add    $0x4,%esp
58039d:	89 75 d4             	mov    %esi,-0x2c(%ebp)
5803a0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5803a7:	85 f6                	test   %esi,%esi
5803a9:	74 29                	je     0x5803d4
5803ab:	6a 30                	push   $0x30
5803ad:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5803b3:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5803ba:	e8 83 0c 06 00       	call   0x5e1042
5803bf:	83 c4 04             	add    $0x4,%esp
5803c2:	89 00                	mov    %eax,(%eax)
5803c4:	89 40 04             	mov    %eax,0x4(%eax)
5803c7:	89 40 08             	mov    %eax,0x8(%eax)
5803ca:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
5803d0:	89 06                	mov    %eax,(%esi)
5803d2:	eb 02                	jmp    0x5803d6
5803d4:	33 f6                	xor    %esi,%esi
5803d6:	8d 45 d8             	lea    -0x28(%ebp),%eax
5803d9:	89 75 d8             	mov    %esi,-0x28(%ebp)
5803dc:	50                   	push   %eax
5803dd:	8b cf                	mov    %edi,%ecx
5803df:	e8 0c 1c 00 00       	call   0x581ff0
5803e4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5803e7:	e8 94 fc ff ff       	call   0x580080
5803ec:	8b 5d 08             	mov    0x8(%ebp),%ebx
5803ef:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5803f6:	89 5d d0             	mov    %ebx,-0x30(%ebp)
5803f9:	8b 0f                	mov    (%edi),%ecx
5803fb:	8d 45 cc             	lea    -0x34(%ebp),%eax
5803fe:	50                   	push   %eax
5803ff:	8d 45 e4             	lea    -0x1c(%ebp),%eax
580402:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
580409:	50                   	push   %eax
58040a:	e8 b1 f1 ff ff       	call   0x57f5c0
58040f:	8b 70 08             	mov    0x8(%eax),%esi
580412:	8b 07                	mov    (%edi),%eax
580414:	3b 30                	cmp    (%eax),%esi
580416:	74 10                	je     0x580428
580418:	8d 45 cc             	lea    -0x34(%ebp),%eax
58041b:	8d 4e 10             	lea    0x10(%esi),%ecx
58041e:	50                   	push   %eax
58041f:	e8 4c fd ff ff       	call   0x580170
580424:	84 c0                	test   %al,%al
580426:	75 61                	jne    0x580489
580428:	e8 e3 14 00 00       	call   0x581910
58042d:	8b cb                	mov    %ebx,%ecx
58042f:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
580436:	83 e1 03             	and    $0x3,%ecx
580439:	33 cb                	xor    %ebx,%ecx
58043b:	83 e1 03             	and    $0x3,%ecx
58043e:	33 cb                	xor    %ebx,%ecx
580440:	89 4d b0             	mov    %ecx,-0x50(%ebp)
580443:	50                   	push   %eax
580444:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
580447:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
58044b:	e8 50 f6 ff ff       	call   0x57faa0
580450:	8b 0f                	mov    (%edi),%ecx
580452:	8d 45 ac             	lea    -0x54(%ebp),%eax
580455:	50                   	push   %eax
580456:	56                   	push   %esi
580457:	8d 45 d4             	lea    -0x2c(%ebp),%eax
58045a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
58045e:	50                   	push   %eax
58045f:	e8 6c f2 ff ff       	call   0x57f6d0
580464:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
580467:	8b 30                	mov    (%eax),%esi
580469:	e8 12 fc ff ff       	call   0x580080
58046e:	8b 45 ac             	mov    -0x54(%ebp),%eax
580471:	85 c0                	test   %eax,%eax
580473:	74 14                	je     0x580489
580475:	8b 4d b0             	mov    -0x50(%ebp),%ecx
580478:	80 e1 03             	and    $0x3,%cl
58047b:	80 f9 01             	cmp    $0x1,%cl
58047e:	75 09                	jne    0x580489
580480:	50                   	push   %eax
580481:	e8 ea e1 06 00       	call   0x5ee670
580486:	83 c4 04             	add    $0x4,%esp
580489:	8d 46 18             	lea    0x18(%esi),%eax
58048c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58048f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
580496:	59                   	pop    %ecx
580497:	5f                   	pop    %edi
580498:	5e                   	pop    %esi
580499:	5b                   	pop    %ebx
58049a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
58049d:	33 cd                	xor    %ebp,%ecx
58049f:	e8 36 10 06 00       	call   0x5e14da
5804a4:	8b e5                	mov    %ebp,%esp
5804a6:	5d                   	pop    %ebp
5804a7:	c2 04 00             	ret    $0x4
5804aa:	6a 01                	push   $0x1
5804ac:	6a 02                	push   $0x2
5804ae:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
5804b4:	e8 77 e8 ff ff       	call   0x57ed30
5804b9:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
5804bf:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5804c6:	68 98 32 6c 00       	push   $0x6c3298
5804cb:	50                   	push   %eax
5804cc:	e8 ef ad f1 ff       	call   0x49b2c0
5804d1:	83 c4 08             	add    $0x8,%esp
5804d4:	8d 45 d8             	lea    -0x28(%ebp),%eax
5804d7:	8d 8d 14 ff ff ff    	lea    -0xec(%ebp),%ecx
5804dd:	50                   	push   %eax
5804de:	e8 cd e9 ff ff       	call   0x57eeb0
5804e3:	50                   	push   %eax
5804e4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5804e8:	e8 d3 1b 00 00       	call   0x5820c0
5804ed:	cc                   	int3
5804ee:	cc                   	int3
5804ef:	cc                   	int3
5804f0:	55                   	push   %ebp
5804f1:	8b ec                	mov    %esp,%ebp
5804f3:	8b 55 08             	mov    0x8(%ebp),%edx
5804f6:	8b c2                	mov    %edx,%eax
5804f8:	56                   	push   %esi
5804f9:	57                   	push   %edi
5804fa:	8b f1                	mov    %ecx,%esi
5804fc:	8d 78 01             	lea    0x1(%eax),%edi
5804ff:	90                   	nop
580500:	8a 08                	mov    (%eax),%cl
580502:	40                   	inc    %eax
580503:	84 c9                	test   %cl,%cl
580505:	75 f9                	jne    0x580500
580507:	2b c7                	sub    %edi,%eax
580509:	8b ce                	mov    %esi,%ecx
58050b:	03 c2                	add    %edx,%eax
58050d:	50                   	push   %eax
58050e:	52                   	push   %edx
58050f:	e8 cc 16 00 00       	call   0x581be0
580514:	5f                   	pop    %edi
580515:	5e                   	pop    %esi
580516:	5d                   	pop    %ebp
580517:	c2 04 00             	ret    $0x4
58051a:	cc                   	int3
58051b:	cc                   	int3
58051c:	cc                   	int3
58051d:	cc                   	int3
58051e:	cc                   	int3
58051f:	cc                   	int3
580520:	55                   	push   %ebp
580521:	8b ec                	mov    %esp,%ebp
580523:	8b 45 08             	mov    0x8(%ebp),%eax
580526:	56                   	push   %esi
580527:	57                   	push   %edi
580528:	8b f9                	mov    %ecx,%edi
58052a:	8b f0                	mov    %eax,%esi
58052c:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
580530:	72 02                	jb     0x580534
580532:	8b 30                	mov    (%eax),%esi
580534:	8b c8                	mov    %eax,%ecx
580536:	72 02                	jb     0x58053a
580538:	8b 08                	mov    (%eax),%ecx
58053a:	8b 40 10             	mov    0x10(%eax),%eax
58053d:	03 c6                	add    %esi,%eax
58053f:	50                   	push   %eax
580540:	51                   	push   %ecx
580541:	8b cf                	mov    %edi,%ecx
580543:	e8 68 0f 00 00       	call   0x5814b0
580548:	5f                   	pop    %edi
580549:	5e                   	pop    %esi
58054a:	85 c0                	test   %eax,%eax
58054c:	75 05                	jne    0x580553
58054e:	e8 bd 13 00 00       	call   0x581910
580553:	5d                   	pop    %ebp
580554:	c2 04 00             	ret    $0x4
580557:	cc                   	int3
580558:	cc                   	int3
580559:	cc                   	int3
58055a:	cc                   	int3
58055b:	cc                   	int3
58055c:	cc                   	int3
58055d:	cc                   	int3
58055e:	cc                   	int3
58055f:	cc                   	int3
580560:	55                   	push   %ebp
580561:	8b ec                	mov    %esp,%ebp
580563:	6a ff                	push   $0xffffffff
580565:	68 a3 ca 65 00       	push   $0x65caa3
58056a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
580570:	50                   	push   %eax
580571:	81 ec b4 00 00 00    	sub    $0xb4,%esp
580577:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58057c:	33 c5                	xor    %ebp,%eax