5f8487:	50                   	push   %eax
5f8488:	e8 36 4b ff ff       	call   0x5ecfc3
5f848d:	59                   	pop    %ecx
5f848e:	e8 66 4b ff ff       	call   0x5ecff9
5f8493:	8b 00                	mov    (%eax),%eax
5f8495:	eb 06                	jmp    0x5f849d
5f8497:	48                   	dec    %eax
5f8498:	89 47 10             	mov    %eax,0x10(%edi)
5f849b:	33 c0                	xor    %eax,%eax
5f849d:	5f                   	pop    %edi
5f849e:	5b                   	pop    %ebx
5f849f:	5e                   	pop    %esi
5f84a0:	5d                   	pop    %ebp
5f84a1:	c3                   	ret
5f84a2:	8b ff                	mov    %edi,%edi
5f84a4:	55                   	push   %ebp
5f84a5:	8b ec                	mov    %esp,%ebp
5f84a7:	51                   	push   %ecx
5f84a8:	ff 75 10             	push   0x10(%ebp)
5f84ab:	8d 45 ff             	lea    -0x1(%ebp),%eax
5f84ae:	50                   	push   %eax
5f84af:	ff 75 0c             	push   0xc(%ebp)
5f84b2:	ff 75 08             	push   0x8(%ebp)
5f84b5:	e8 21 ff ff ff       	call   0x5f83db
5f84ba:	83 c4 10             	add    $0x10,%esp
5f84bd:	c9                   	leave
5f84be:	c3                   	ret
5f84bf:	8b ff                	mov    %edi,%edi
5f84c1:	56                   	push   %esi
5f84c2:	8b f1                	mov    %ecx,%esi
5f84c4:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
5f84c8:	74 04                	je     0x5f84ce
5f84ca:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5f84ce:	e8 26 4b ff ff       	call   0x5ecff9
5f84d3:	6a 22                	push   $0x22
5f84d5:	59                   	pop    %ecx
5f84d6:	89 08                	mov    %ecx,(%eax)
5f84d8:	8b c1                	mov    %ecx,%eax
5f84da:	83 66 0c 00          	andl   $0x0,0xc(%esi)
5f84de:	c6 46 14 00          	movb   $0x0,0x14(%esi)
5f84e2:	5e                   	pop    %esi
5f84e3:	c2 04 00             	ret    $0x4
5f84e6:	33 c0                	xor    %eax,%eax
5f84e8:	38 41 14             	cmp    %al,0x14(%ecx)
5f84eb:	74 03                	je     0x5f84f0
5f84ed:	88 41 14             	mov    %al,0x14(%ecx)
5f84f0:	89 41 08             	mov    %eax,0x8(%ecx)
5f84f3:	89 41 0c             	mov    %eax,0xc(%ecx)
5f84f6:	89 41 10             	mov    %eax,0x10(%ecx)
5f84f9:	c3                   	ret
5f84fa:	6a 00                	push   $0x0
5f84fc:	e8 02 00 00 00       	call   0x5f8503
5f8501:	59                   	pop    %ecx
5f8502:	c3                   	ret
5f8503:	8b ff                	mov    %edi,%edi
5f8505:	55                   	push   %ebp
5f8506:	8b ec                	mov    %esp,%ebp
5f8508:	83 ec 18             	sub    $0x18,%esp
5f850b:	53                   	push   %ebx
5f850c:	56                   	push   %esi
5f850d:	57                   	push   %edi
5f850e:	ff 75 08             	push   0x8(%ebp)
5f8511:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f8514:	e8 74 56 ff ff       	call   0x5edb8d
5f8519:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f851c:	33 db                	xor    %ebx,%ebx
5f851e:	33 f6                	xor    %esi,%esi
5f8520:	8b 88 9c 00 00 00    	mov    0x9c(%eax),%ecx
5f8526:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f8529:	8b 14 b1             	mov    (%ecx,%esi,4),%edx
5f852c:	8d 7a 01             	lea    0x1(%edx),%edi
5f852f:	8a 02                	mov    (%edx),%al
5f8531:	42                   	inc    %edx
5f8532:	84 c0                	test   %al,%al
5f8534:	75 f9                	jne    0x5f852f
5f8536:	8b 4c b1 1c          	mov    0x1c(%ecx,%esi,4),%ecx
5f853a:	2b d7                	sub    %edi,%edx
5f853c:	8d 79 01             	lea    0x1(%ecx),%edi
5f853f:	8a 01                	mov    (%ecx),%al
5f8541:	41                   	inc    %ecx
5f8542:	84 c0                	test   %al,%al
5f8544:	75 f9                	jne    0x5f853f
5f8546:	2b cf                	sub    %edi,%ecx
5f8548:	83 c3 02             	add    $0x2,%ebx
5f854b:	8d 04 11             	lea    (%ecx,%edx,1),%eax
5f854e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f8551:	03 d8                	add    %eax,%ebx
5f8553:	46                   	inc    %esi
5f8554:	83 fe 07             	cmp    $0x7,%esi
5f8557:	72 d0                	jb     0x5f8529
5f8559:	8d 43 01             	lea    0x1(%ebx),%eax
5f855c:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5f855f:	50                   	push   %eax
5f8560:	e8 90 d8 00 00       	call   0x605df5
5f8565:	8b f8                	mov    %eax,%edi
5f8567:	59                   	pop    %ecx
5f8568:	85 ff                	test   %edi,%edi
5f856a:	74 71                	je     0x5f85dd
5f856c:	8b f7                	mov    %edi,%esi
5f856e:	33 db                	xor    %ebx,%ebx
5f8570:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f8573:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f8576:	c6 06 3a             	movb   $0x3a,(%esi)
5f8579:	41                   	inc    %ecx
5f857a:	46                   	inc    %esi
5f857b:	ff 34 98             	push   (%eax,%ebx,4)
5f857e:	8b c7                	mov    %edi,%eax
5f8580:	2b c6                	sub    %esi,%eax
5f8582:	03 c1                	add    %ecx,%eax
5f8584:	50                   	push   %eax
5f8585:	56                   	push   %esi
5f8586:	e8 80 03 00 00       	call   0x5f890b
5f858b:	83 c4 0c             	add    $0xc,%esp
5f858e:	85 c0                	test   %eax,%eax
5f8590:	75 6a                	jne    0x5f85fc
5f8592:	8b ce                	mov    %esi,%ecx
5f8594:	8d 51 01             	lea    0x1(%ecx),%edx
5f8597:	8a 01                	mov    (%ecx),%al
5f8599:	41                   	inc    %ecx
5f859a:	84 c0                	test   %al,%al
5f859c:	75 f9                	jne    0x5f8597
5f859e:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f85a1:	2b ca                	sub    %edx,%ecx
5f85a3:	03 f1                	add    %ecx,%esi
5f85a5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f85a8:	41                   	inc    %ecx
5f85a9:	c6 06 3a             	movb   $0x3a,(%esi)
5f85ac:	46                   	inc    %esi
5f85ad:	ff 74 98 1c          	push   0x1c(%eax,%ebx,4)
5f85b1:	8b c7                	mov    %edi,%eax
5f85b3:	2b c6                	sub    %esi,%eax
5f85b5:	03 c1                	add    %ecx,%eax
5f85b7:	50                   	push   %eax
5f85b8:	56                   	push   %esi
5f85b9:	e8 4d 03 00 00       	call   0x5f890b
5f85be:	83 c4 0c             	add    $0xc,%esp
5f85c1:	85 c0                	test   %eax,%eax
5f85c3:	75 37                	jne    0x5f85fc
5f85c5:	8b ce                	mov    %esi,%ecx
5f85c7:	8d 51 01             	lea    0x1(%ecx),%edx
5f85ca:	8a 01                	mov    (%ecx),%al
5f85cc:	41                   	inc    %ecx
5f85cd:	84 c0                	test   %al,%al
5f85cf:	75 f9                	jne    0x5f85ca
5f85d1:	2b ca                	sub    %edx,%ecx
5f85d3:	03 f1                	add    %ecx,%esi
5f85d5:	43                   	inc    %ebx
5f85d6:	83 fb 07             	cmp    $0x7,%ebx
5f85d9:	72 95                	jb     0x5f8570
5f85db:	88 06                	mov    %al,(%esi)
5f85dd:	6a 00                	push   $0x0
5f85df:	e8 44 c2 00 00       	call   0x604828
5f85e4:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
5f85e8:	59                   	pop    %ecx
5f85e9:	74 0a                	je     0x5f85f5
5f85eb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f85ee:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f85f5:	8b c7                	mov    %edi,%eax
5f85f7:	5f                   	pop    %edi
5f85f8:	5e                   	pop    %esi
5f85f9:	5b                   	pop    %ebx
5f85fa:	c9                   	leave
5f85fb:	c3                   	ret
5f85fc:	33 c0                	xor    %eax,%eax
5f85fe:	50                   	push   %eax
5f85ff:	50                   	push   %eax
5f8600:	50                   	push   %eax
5f8601:	50                   	push   %eax
5f8602:	50                   	push   %eax
5f8603:	e8 44 49 ff ff       	call   0x5ecf4c
5f8608:	cc                   	int3
5f8609:	6a 00                	push   $0x0
5f860b:	e8 02 00 00 00       	call   0x5f8612
5f8610:	59                   	pop    %ecx
5f8611:	c3                   	ret
5f8612:	8b ff                	mov    %edi,%edi
5f8614:	55                   	push   %ebp
5f8615:	8b ec                	mov    %esp,%ebp
5f8617:	83 ec 18             	sub    $0x18,%esp
5f861a:	53                   	push   %ebx
5f861b:	56                   	push   %esi
5f861c:	57                   	push   %edi
5f861d:	ff 75 08             	push   0x8(%ebp)
5f8620:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f8623:	e8 65 55 ff ff       	call   0x5edb8d
5f8628:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f862b:	33 db                	xor    %ebx,%ebx
5f862d:	6a 0c                	push   $0xc
5f862f:	5f                   	pop    %edi
5f8630:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
5f8636:	83 c0 68             	add    $0x68,%eax
5f8639:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f863c:	8b f0                	mov    %eax,%esi
5f863e:	8b 4e d0             	mov    -0x30(%esi),%ecx
5f8641:	8d 51 01             	lea    0x1(%ecx),%edx
5f8644:	8a 01                	mov    (%ecx),%al
5f8646:	41                   	inc    %ecx
5f8647:	84 c0                	test   %al,%al
5f8649:	75 f9                	jne    0x5f8644
5f864b:	2b ca                	sub    %edx,%ecx
5f864d:	8b 16                	mov    (%esi),%edx
5f864f:	8d 42 01             	lea    0x1(%edx),%eax
5f8652:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f8655:	8a 02                	mov    (%edx),%al
5f8657:	42                   	inc    %edx
5f8658:	84 c0                	test   %al,%al
5f865a:	75 f9                	jne    0x5f8655
5f865c:	2b 55 f8             	sub    -0x8(%ebp),%edx
5f865f:	83 c3 02             	add    $0x2,%ebx
5f8662:	83 c6 04             	add    $0x4,%esi
5f8665:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5f8668:	03 d8                	add    %eax,%ebx
5f866a:	83 ef 01             	sub    $0x1,%edi
5f866d:	75 cf                	jne    0x5f863e
5f866f:	8d 43 01             	lea    0x1(%ebx),%eax
5f8672:	50                   	push   %eax
5f8673:	e8 7d d7 00 00       	call   0x605df5
5f8678:	8b f8                	mov    %eax,%edi
5f867a:	59                   	pop    %ecx
5f867b:	85 ff                	test   %edi,%edi
5f867d:	74 7b                	je     0x5f86fa
5f867f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f8683:	8b f7                	mov    %edi,%esi
5f8685:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f8688:	c6 06 3a             	movb   $0x3a,(%esi)
5f868b:	46                   	inc    %esi
5f868c:	ff 70 d0             	push   -0x30(%eax)
5f868f:	8b c7                	mov    %edi,%eax
5f8691:	2b c6                	sub    %esi,%eax
5f8693:	40                   	inc    %eax
5f8694:	03 c3                	add    %ebx,%eax
5f8696:	50                   	push   %eax
5f8697:	56                   	push   %esi
5f8698:	e8 6e 02 00 00       	call   0x5f890b
5f869d:	83 c4 0c             	add    $0xc,%esp
5f86a0:	85 c0                	test   %eax,%eax
5f86a2:	75 75                	jne    0x5f8719
5f86a4:	8b ce                	mov    %esi,%ecx
5f86a6:	8d 51 01             	lea    0x1(%ecx),%edx
5f86a9:	8a 01                	mov    (%ecx),%al
5f86ab:	41                   	inc    %ecx
5f86ac:	84 c0                	test   %al,%al
5f86ae:	75 f9                	jne    0x5f86a9
5f86b0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f86b3:	2b ca                	sub    %edx,%ecx
5f86b5:	03 f1                	add    %ecx,%esi
5f86b7:	c6 06 3a             	movb   $0x3a,(%esi)
5f86ba:	46                   	inc    %esi
5f86bb:	ff 30                	push   (%eax)
5f86bd:	8b c7                	mov    %edi,%eax
5f86bf:	2b c6                	sub    %esi,%eax
5f86c1:	40                   	inc    %eax
5f86c2:	03 c3                	add    %ebx,%eax
5f86c4:	50                   	push   %eax
5f86c5:	56                   	push   %esi
5f86c6:	e8 40 02 00 00       	call   0x5f890b
5f86cb:	83 c4 0c             	add    $0xc,%esp
5f86ce:	85 c0                	test   %eax,%eax
5f86d0:	75 47                	jne    0x5f8719
5f86d2:	8b ce                	mov    %esi,%ecx
5f86d4:	8d 51 01             	lea    0x1(%ecx),%edx
5f86d7:	8a 01                	mov    (%ecx),%al
5f86d9:	41                   	inc    %ecx
5f86da:	84 c0                	test   %al,%al
5f86dc:	75 f9                	jne    0x5f86d7
5f86de:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f86e1:	2b ca                	sub    %edx,%ecx
5f86e3:	03 f1                	add    %ecx,%esi
5f86e5:	83 c0 04             	add    $0x4,%eax
5f86e8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f86eb:	41                   	inc    %ecx
5f86ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f86ef:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f86f2:	83 f9 0c             	cmp    $0xc,%ecx
5f86f5:	72 91                	jb     0x5f8688
5f86f7:	c6 06 00             	movb   $0x0,(%esi)
5f86fa:	6a 00                	push   $0x0
5f86fc:	e8 27 c1 00 00       	call   0x604828
5f8701:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
5f8705:	59                   	pop    %ecx
5f8706:	74 0a                	je     0x5f8712
5f8708:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f870b:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f8712:	8b c7                	mov    %edi,%eax
5f8714:	5f                   	pop    %edi
5f8715:	5e                   	pop    %esi
5f8716:	5b                   	pop    %ebx
5f8717:	c9                   	leave
5f8718:	c3                   	ret
5f8719:	33 c0                	xor    %eax,%eax
5f871b:	50                   	push   %eax
5f871c:	50                   	push   %eax
5f871d:	50                   	push   %eax
5f871e:	50                   	push   %eax
5f871f:	50                   	push   %eax
5f8720:	e8 27 48 ff ff       	call   0x5ecf4c
5f8725:	cc                   	int3
5f8726:	e9 1f 58 00 00       	jmp    0x5fdf4a
5f872b:	8b ff                	mov    %edi,%edi
5f872d:	55                   	push   %ebp
5f872e:	8b ec                	mov    %esp,%ebp
5f8730:	6a 00                	push   $0x0
5f8732:	ff 75 18             	push   0x18(%ebp)
5f8735:	ff 75 14             	push   0x14(%ebp)
5f8738:	ff 75 10             	push   0x10(%ebp)
5f873b:	ff 75 0c             	push   0xc(%ebp)
5f873e:	ff 75 08             	push   0x8(%ebp)
5f8741:	e8 05 00 00 00       	call   0x5f874b
5f8746:	83 c4 18             	add    $0x18,%esp
5f8749:	5d                   	pop    %ebp
5f874a:	c3                   	ret
5f874b:	8b ff                	mov    %edi,%edi
5f874d:	55                   	push   %ebp
5f874e:	8b ec                	mov    %esp,%ebp
5f8750:	83 ec 44             	sub    $0x44,%esp
5f8753:	53                   	push   %ebx
5f8754:	57                   	push   %edi
5f8755:	ff 75 1c             	push   0x1c(%ebp)
5f8758:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5f875b:	e8 2d 54 ff ff       	call   0x5edb8d
5f8760:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f8763:	33 db                	xor    %ebx,%ebx
5f8765:	8b 48 14             	mov    0x14(%eax),%ecx
5f8768:	8b 45 08             	mov    0x8(%ebp),%eax
5f876b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5f876e:	85 c0                	test   %eax,%eax
5f8770:	74 13                	je     0x5f8785
5f8772:	8b 7d 0c             	mov    0xc(%ebp),%edi
5f8775:	85 ff                	test   %edi,%edi
5f8777:	74 0c                	je     0x5f8785
5f8779:	88 18                	mov    %bl,(%eax)
5f877b:	39 5d 10             	cmp    %ebx,0x10(%ebp)
5f877e:	74 05                	je     0x5f8785
5f8780:	39 5d 14             	cmp    %ebx,0x14(%ebp)
5f8783:	75 15                	jne    0x5f879a
5f8785:	e8 6f 48 ff ff       	call   0x5ecff9
5f878a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8790:	e8 8a 47 ff ff       	call   0x5ecf1f
5f8795:	e9 98 00 00 00       	jmp    0x5f8832
5f879a:	51                   	push   %ecx
5f879b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5f879e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
5f87a1:	50                   	push   %eax
5f87a2:	ff 75 10             	push   0x10(%ebp)
5f87a5:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5f87a8:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5f87ab:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5f87ae:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5f87b1:	88 5d e8             	mov    %bl,-0x18(%ebp)
5f87b4:	e8 9f e3 ff ff       	call   0x5f6b58