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
58057e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580581:	50                   	push   %eax
580582:	8d 45 f4             	lea    -0xc(%ebp),%eax
580585:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58058b:	8b 45 08             	mov    0x8(%ebp),%eax
58058e:	85 c0                	test   %eax,%eax
580590:	78 21                	js     0x5805b3
580592:	50                   	push   %eax
580593:	e8 68 00 00 00       	call   0x580600
580598:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58059b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5805a2:	59                   	pop    %ecx
5805a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5805a6:	33 cd                	xor    %ebp,%ecx
5805a8:	e8 2d 0f 06 00       	call   0x5e14da
5805ad:	8b e5                	mov    %ebp,%esp
5805af:	5d                   	pop    %ebp
5805b0:	c2 04 00             	ret    $0x4
5805b3:	6a 01                	push   $0x1
5805b5:	6a 02                	push   $0x2
5805b7:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
5805bd:	e8 6e e7 ff ff       	call   0x57ed30
5805c2:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5805c8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5805cf:	68 60 33 6c 00       	push   $0x6c3360
5805d4:	50                   	push   %eax
5805d5:	e8 e6 ac f1 ff       	call   0x49b2c0
5805da:	83 c4 08             	add    $0x8,%esp
5805dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
5805e0:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
5805e6:	50                   	push   %eax
5805e7:	e8 c4 e8 ff ff       	call   0x57eeb0
5805ec:	50                   	push   %eax
5805ed:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5805f1:	e8 ca 1a 00 00       	call   0x5820c0
5805f6:	cc                   	int3
5805f7:	cc                   	int3
5805f8:	cc                   	int3
5805f9:	cc                   	int3
5805fa:	cc                   	int3
5805fb:	cc                   	int3
5805fc:	cc                   	int3
5805fd:	cc                   	int3
5805fe:	cc                   	int3
5805ff:	cc                   	int3
580600:	55                   	push   %ebp
580601:	8b ec                	mov    %esp,%ebp
580603:	6a ff                	push   $0xffffffff
580605:	68 5b cb 65 00       	push   $0x65cb5b
58060a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
580610:	50                   	push   %eax
580611:	81 ec bc 00 00 00    	sub    $0xbc,%esp
580617:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58061c:	33 c5                	xor    %ebp,%eax
58061e:	89 45 f0             	mov    %eax,-0x10(%ebp)
580621:	53                   	push   %ebx
580622:	56                   	push   %esi
580623:	57                   	push   %edi
580624:	50                   	push   %eax
580625:	8d 45 f4             	lea    -0xc(%ebp),%eax
580628:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58062e:	8b f1                	mov    %ecx,%esi
580630:	8a 46 08             	mov    0x8(%esi),%al
580633:	8b 5d 08             	mov    0x8(%ebp),%ebx
580636:	84 c0                	test   %al,%al
580638:	74 41                	je     0x58067b
58063a:	3c 06                	cmp    $0x6,%al
58063c:	75 60                	jne    0x58069e
58063e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
580645:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
580648:	8b 3e                	mov    (%esi),%edi
58064a:	8d 45 d0             	lea    -0x30(%ebp),%eax
58064d:	50                   	push   %eax
58064e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
580651:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
580658:	50                   	push   %eax
580659:	8b cf                	mov    %edi,%ecx
58065b:	e8 60 ef ff ff       	call   0x57f5c0
580660:	8b 4d ec             	mov    -0x14(%ebp),%ecx
580663:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
580667:	75 05                	jne    0x58066e
580669:	3b 59 14             	cmp    0x14(%ecx),%ebx
58066c:	73 02                	jae    0x580670
58066e:	8b 0f                	mov    (%edi),%ecx
580670:	8b 06                	mov    (%esi),%eax
580672:	3b 08                	cmp    (%eax),%ecx
580674:	74 05                	je     0x58067b
580676:	8d 41 18             	lea    0x18(%ecx),%eax
580679:	eb 05                	jmp    0x580680
58067b:	e8 90 12 00 00       	call   0x581910
580680:	8b 4d f4             	mov    -0xc(%ebp),%ecx
580683:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
58068a:	59                   	pop    %ecx
58068b:	5f                   	pop    %edi
58068c:	5e                   	pop    %esi
58068d:	5b                   	pop    %ebx
58068e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
580691:	33 cd                	xor    %ebp,%ecx
580693:	e8 42 0e 06 00       	call   0x5e14da
580698:	8b e5                	mov    %ebp,%esp
58069a:	5d                   	pop    %ebp
58069b:	c2 04 00             	ret    $0x4
58069e:	6a 01                	push   $0x1
5806a0:	6a 02                	push   $0x2
5806a2:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
5806a8:	e8 83 e6 ff ff       	call   0x57ed30
5806ad:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
5806b3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5806ba:	68 18 33 6c 00       	push   $0x6c3318
5806bf:	50                   	push   %eax
5806c0:	e8 fb ab f1 ff       	call   0x49b2c0
5806c5:	83 c4 08             	add    $0x8,%esp
5806c8:	8d 45 d8             	lea    -0x28(%ebp),%eax
5806cb:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
5806d1:	50                   	push   %eax
5806d2:	e8 d9 e7 ff ff       	call   0x57eeb0
5806d7:	50                   	push   %eax
5806d8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5806dc:	e8 df 19 00 00       	call   0x5820c0
5806e1:	cc                   	int3
5806e2:	cc                   	int3
5806e3:	cc                   	int3
5806e4:	cc                   	int3
5806e5:	cc                   	int3
5806e6:	cc                   	int3
5806e7:	cc                   	int3
5806e8:	cc                   	int3
5806e9:	cc                   	int3
5806ea:	cc                   	int3
5806eb:	cc                   	int3
5806ec:	cc                   	int3
5806ed:	cc                   	int3
5806ee:	cc                   	int3
5806ef:	cc                   	int3
5806f0:	55                   	push   %ebp
5806f1:	8b ec                	mov    %esp,%ebp
5806f3:	8b 55 08             	mov    0x8(%ebp),%edx
5806f6:	8b c2                	mov    %edx,%eax
5806f8:	56                   	push   %esi
5806f9:	57                   	push   %edi
5806fa:	8b f1                	mov    %ecx,%esi
5806fc:	8d 78 01             	lea    0x1(%eax),%edi
5806ff:	90                   	nop
580700:	8a 08                	mov    (%eax),%cl
580702:	40                   	inc    %eax
580703:	84 c9                	test   %cl,%cl
580705:	75 f9                	jne    0x580700
580707:	2b c7                	sub    %edi,%eax
580709:	8b ce                	mov    %esi,%ecx
58070b:	03 c2                	add    %edx,%eax
58070d:	50                   	push   %eax
58070e:	52                   	push   %edx
58070f:	e8 9c 0d 00 00       	call   0x5814b0
580714:	5f                   	pop    %edi
580715:	5e                   	pop    %esi
580716:	85 c0                	test   %eax,%eax
580718:	75 05                	jne    0x58071f
58071a:	e8 f1 11 00 00       	call   0x581910
58071f:	5d                   	pop    %ebp
580720:	c2 04 00             	ret    $0x4
580723:	cc                   	int3
580724:	cc                   	int3
580725:	cc                   	int3
580726:	cc                   	int3
580727:	cc                   	int3
580728:	cc                   	int3
580729:	cc                   	int3
58072a:	cc                   	int3
58072b:	cc                   	int3
58072c:	cc                   	int3
58072d:	cc                   	int3
58072e:	cc                   	int3
58072f:	cc                   	int3
580730:	55                   	push   %ebp
580731:	8b ec                	mov    %esp,%ebp