58b53a:	41                   	inc    %ecx
58b53b:	51                   	push   %ecx
58b53c:	ff 75 48             	push   0x48(%ebp)
58b53f:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b542:	e8 00 67 e9 ff       	call   0x421c47
58b547:	8a 45 eb             	mov    -0x15(%ebp),%al
58b54a:	84 c0                	test   %al,%al
58b54c:	0f 84 de 00 00 00    	je     0x58b630
58b552:	8b 45 70             	mov    0x70(%ebp),%eax
58b555:	8d 48 fd             	lea    -0x3(%eax),%ecx
58b558:	3b c8                	cmp    %eax,%ecx
58b55a:	77 16                	ja     0x58b572
58b55c:	83 7d 74 08          	cmpl   $0x8,0x74(%ebp)
58b560:	8d 45 60             	lea    0x60(%ebp),%eax
58b563:	89 4d 70             	mov    %ecx,0x70(%ebp)
58b566:	0f 43 45 60          	cmovae 0x60(%ebp),%eax
58b56a:	33 d2                	xor    %edx,%edx
58b56c:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
58b570:	eb 0d                	jmp    0x58b57f
58b572:	2b c8                	sub    %eax,%ecx
58b574:	6a 00                	push   $0x0
58b576:	51                   	push   %ecx
58b577:	8d 4d 60             	lea    0x60(%ebp),%ecx
58b57a:	e8 8c 47 ea ff       	call   0x42fd0b
58b57f:	6a 5c                	push   $0x5c
58b581:	e8 f7 f3 e9 ff       	call   0x42a97d
58b586:	83 c4 04             	add    $0x4,%esp
58b589:	89 45 ec             	mov    %eax,-0x14(%ebp)
58b58c:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
58b590:	85 c0                	test   %eax,%eax
58b592:	74 54                	je     0x58b5e8
58b594:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b597:	e8 3d b5 ea ff       	call   0x436ad9
58b59c:	8b f8                	mov    %eax,%edi
58b59e:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b5a1:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
58b5a5:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
58b5ac:	e8 28 b5 ea ff       	call   0x436ad9
58b5b1:	8b f0                	mov    %eax,%esi
58b5b3:	6a 01                	push   $0x1
58b5b5:	6a 01                	push   $0x1
58b5b7:	8d 45 30             	lea    0x30(%ebp),%eax
58b5ba:	c7 45 fc 0d 00 00 00 	movl   $0xd,-0x4(%ebp)
58b5c1:	bb 06 00 00 00       	mov    $0x6,%ebx
58b5c6:	8b cf                	mov    %edi,%ecx
58b5c8:	50                   	push   %eax
58b5c9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b5cc:	e8 a0 72 ea ff       	call   0x432871
58b5d1:	50                   	push   %eax
58b5d2:	8d 45 60             	lea    0x60(%ebp),%eax
58b5d5:	8b ce                	mov    %esi,%ecx
58b5d7:	50                   	push   %eax
58b5d8:	e8 94 72 ea ff       	call   0x432871
58b5dd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58b5e0:	50                   	push   %eax
58b5e1:	e8 47 42 eb ff       	call   0x43f82d
58b5e6:	eb 02                	jmp    0x58b5ea
58b5e8:	33 c0                	xor    %eax,%eax
58b5ea:	50                   	push   %eax
58b5eb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58b5ee:	c7 45 fc 0f 00 00 00 	movl   $0xf,-0x4(%ebp)
58b5f5:	e8 1e 1e e8 ff       	call   0x40d418
58b5fa:	f6 c3 04             	test   $0x4,%bl
58b5fd:	74 0e                	je     0x58b60d
58b5ff:	83 e3 fb             	and    $0xfffffffb,%ebx
58b602:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b605:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b608:	e8 98 df e9 ff       	call   0x4295a5
58b60d:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
58b614:	f6 c3 02             	test   $0x2,%bl
58b617:	0f 84 09 01 00 00    	je     0x58b726
58b61d:	83 e3 fd             	and    $0xfffffffd,%ebx
58b620:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b623:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b626:	e8 7a df e9 ff       	call   0x4295a5
58b62b:	e9 f6 00 00 00       	jmp    0x58b726
58b630:	68 ec 21 be 00       	push   $0xbe21ec
58b635:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b638:	e8 30 49 ea ff       	call   0x42ff6d
58b63d:	8d 45 48             	lea    0x48(%ebp),%eax
58b640:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
58b644:	50                   	push   %eax
58b645:	8d 45 60             	lea    0x60(%ebp),%eax
58b648:	50                   	push   %eax
58b649:	e8 f8 3c eb ff       	call   0x43f346
58b64e:	83 c4 08             	add    $0x8,%esp
58b651:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
58b655:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b658:	8a d8                	mov    %al,%bl
58b65a:	e8 52 9d e8 ff       	call   0x4153b1
58b65f:	84 db                	test   %bl,%bl
58b661:	0f 84 bc 00 00 00    	je     0x58b723
58b667:	8b 45 70             	mov    0x70(%ebp),%eax
58b66a:	8d 4d 60             	lea    0x60(%ebp),%ecx
58b66d:	83 c0 fc             	add    $0xfffffffc,%eax
58b670:	50                   	push   %eax
58b671:	e8 04 73 ea ff       	call   0x43297a
58b676:	6a 5c                	push   $0x5c
58b678:	e8 00 f3 e9 ff       	call   0x42a97d
58b67d:	83 c4 04             	add    $0x4,%esp
58b680:	89 45 ec             	mov    %eax,-0x14(%ebp)
58b683:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
58b687:	85 c0                	test   %eax,%eax
58b689:	74 54                	je     0x58b6df
58b68b:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b68e:	e8 46 b4 ea ff       	call   0x436ad9
58b693:	8b f8                	mov    %eax,%edi
58b695:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b698:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
58b69c:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
58b6a3:	e8 31 b4 ea ff       	call   0x436ad9
58b6a8:	8b f0                	mov    %eax,%esi
58b6aa:	6a 01                	push   $0x1
58b6ac:	6a 01                	push   $0x1
58b6ae:	8d 45 30             	lea    0x30(%ebp),%eax
58b6b1:	c7 45 fc 13 00 00 00 	movl   $0x13,-0x4(%ebp)
58b6b8:	bb 18 00 00 00       	mov    $0x18,%ebx
58b6bd:	8b cf                	mov    %edi,%ecx
58b6bf:	50                   	push   %eax
58b6c0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b6c3:	e8 a9 71 ea ff       	call   0x432871
58b6c8:	50                   	push   %eax
58b6c9:	8d 45 60             	lea    0x60(%ebp),%eax
58b6cc:	8b ce                	mov    %esi,%ecx
58b6ce:	50                   	push   %eax
58b6cf:	e8 9d 71 ea ff       	call   0x432871
58b6d4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58b6d7:	50                   	push   %eax
58b6d8:	e8 7f b0 e8 ff       	call   0x41675c
58b6dd:	eb 05                	jmp    0x58b6e4
58b6df:	8b 5d f0             	mov    -0x10(%ebp),%ebx
58b6e2:	33 c0                	xor    %eax,%eax
58b6e4:	50                   	push   %eax
58b6e5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58b6e8:	c7 45 fc 15 00 00 00 	movl   $0x15,-0x4(%ebp)
58b6ef:	e8 24 1d e8 ff       	call   0x40d418
58b6f4:	f6 c3 10             	test   $0x10,%bl
58b6f7:	74 0e                	je     0x58b707
58b6f9:	83 e3 ef             	and    $0xffffffef,%ebx
58b6fc:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b6ff:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b702:	e8 9e de e9 ff       	call   0x4295a5
58b707:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
58b70e:	f6 c3 08             	test   $0x8,%bl
58b711:	74 13                	je     0x58b726
58b713:	83 e3 f7             	and    $0xfffffff7,%ebx
58b716:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b719:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b71c:	e8 84 de e9 ff       	call   0x4295a5
58b721:	eb 03                	jmp    0x58b726
58b723:	8b 5d f0             	mov    -0x10(%ebp),%ebx
58b726:	6a 5c                	push   $0x5c
58b728:	e8 50 f2 e9 ff       	call   0x42a97d
58b72d:	83 c4 04             	add    $0x4,%esp
58b730:	89 45 ec             	mov    %eax,-0x14(%ebp)
58b733:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
58b737:	85 c0                	test   %eax,%eax
58b739:	74 53                	je     0x58b78e
58b73b:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b73e:	e8 96 b3 ea ff       	call   0x436ad9
58b743:	8b f8                	mov    %eax,%edi
58b745:	83 cb 20             	or     $0x20,%ebx
58b748:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
58b74c:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b74f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b752:	e8 82 b3 ea ff       	call   0x436ad9
58b757:	8b f0                	mov    %eax,%esi
58b759:	6a 01                	push   $0x1
58b75b:	6a 00                	push   $0x0
58b75d:	8d 45 60             	lea    0x60(%ebp),%eax
58b760:	c7 45 fc 18 00 00 00 	movl   $0x18,-0x4(%ebp)
58b767:	83 cb 40             	or     $0x40,%ebx
58b76a:	8b cf                	mov    %edi,%ecx
58b76c:	50                   	push   %eax
58b76d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b770:	e8 fc 70 ea ff       	call   0x432871
58b775:	8b 7d c0             	mov    -0x40(%ebp),%edi
58b778:	8b ce                	mov    %esi,%ecx
58b77a:	50                   	push   %eax
58b77b:	57                   	push   %edi
58b77c:	e8 f0 70 ea ff       	call   0x432871
58b781:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58b784:	50                   	push   %eax
58b785:	e8 34 df e8 ff       	call   0x4196be
58b78a:	8b f0                	mov    %eax,%esi
58b78c:	eb 05                	jmp    0x58b793
58b78e:	8b 7d c0             	mov    -0x40(%ebp),%edi
58b791:	33 f6                	xor    %esi,%esi
58b793:	8d 4d d0             	lea    -0x30(%ebp),%ecx
58b796:	c7 45 fc 1a 00 00 00 	movl   $0x1a,-0x4(%ebp)
58b79d:	e8 74 12 ea ff       	call   0x42ca16
58b7a2:	c7 45 fc 1b 00 00 00 	movl   $0x1b,-0x4(%ebp)
58b7a9:	c7 45 d0 d4 21 be 00 	movl   $0xbe21d4,-0x30(%ebp)
58b7b0:	89 75 d4             	mov    %esi,-0x2c(%ebp)
58b7b3:	85 f6                	test   %esi,%esi
58b7b5:	74 10                	je     0x58b7c7
58b7b7:	8b 46 04             	mov    0x4(%esi),%eax
58b7ba:	8b 48 04             	mov    0x4(%eax),%ecx
58b7bd:	83 c1 04             	add    $0x4,%ecx
58b7c0:	03 ce                	add    %esi,%ecx
58b7c2:	8b 01                	mov    (%ecx),%eax
58b7c4:	ff 50 08             	call   *0x8(%eax)
58b7c7:	c7 45 fc 1c 00 00 00 	movl   $0x1c,-0x4(%ebp)
58b7ce:	f6 c3 40             	test   $0x40,%bl
58b7d1:	74 0e                	je     0x58b7e1
58b7d3:	83 e3 bf             	and    $0xffffffbf,%ebx
58b7d6:	8d 4d 00             	lea    0x0(%ebp),%ecx
58b7d9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b7dc:	e8 c4 dd e9 ff       	call   0x4295a5
58b7e1:	c6 45 fc 1e          	movb   $0x1e,-0x4(%ebp)
58b7e5:	f6 c3 20             	test   $0x20,%bl
58b7e8:	74 0e                	je     0x58b7f8
58b7ea:	83 e3 df             	and    $0xffffffdf,%ebx
58b7ed:	8d 4d 48             	lea    0x48(%ebp),%ecx
58b7f0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b7f3:	e8 ad dd e9 ff       	call   0x4295a5
58b7f8:	6a 3c                	push   $0x3c
58b7fa:	e8 7e f1 e9 ff       	call   0x42a97d
58b7ff:	8b f0                	mov    %eax,%esi
58b801:	83 c4 04             	add    $0x4,%esp
58b804:	89 75 b0             	mov    %esi,-0x50(%ebp)
58b807:	c6 45 fc 1f          	movb   $0x1f,-0x4(%ebp)
58b80b:	85 f6                	test   %esi,%esi
58b80d:	74 31                	je     0x58b840
58b80f:	8d 45 d0             	lea    -0x30(%ebp),%eax
58b812:	50                   	push   %eax
58b813:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
58b816:	e8 f7 d8 ea ff       	call   0x439112
58b81b:	6a 01                	push   $0x1
58b81d:	8d 45 d8             	lea    -0x28(%ebp),%eax
58b820:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
58b824:	50                   	push   %eax
58b825:	8d 45 b4             	lea    -0x4c(%ebp),%eax
58b828:	81 cb 80 00 00 00    	or     $0x80,%ebx
58b82e:	50                   	push   %eax
58b82f:	6a 00                	push   $0x0
58b831:	57                   	push   %edi
58b832:	8b ce                	mov    %esi,%ecx
58b834:	89 5d f0             	mov    %ebx,-0x10(%ebp)
58b837:	e8 b5 ca e7 ff       	call   0x4082f1
58b83c:	8b f0                	mov    %eax,%esi
58b83e:	eb 02                	jmp    0x58b842
58b840:	33 f6                	xor    %esi,%esi
58b842:	c7 45 fc 21 00 00 00 	movl   $0x21,-0x4(%ebp)
58b849:	85 f6                	test   %esi,%esi
58b84b:	74 0d                	je     0x58b85a
58b84d:	8b 06                	mov    (%esi),%eax
58b84f:	8b 48 04             	mov    0x4(%eax),%ecx
58b852:	8b 04 31             	mov    (%ecx,%esi,1),%eax
58b855:	03 ce                	add    %esi,%ecx
58b857:	ff 50 08             	call   *0x8(%eax)
58b85a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
58b85d:	56                   	push   %esi
58b85e:	50                   	push   %eax
58b85f:	e8 1f 74 e8 ff       	call   0x412c83
58b864:	83 c4 08             	add    $0x8,%esp
58b867:	85 c0                	test   %eax,%eax
58b869:	74 0c                	je     0x58b877
58b86b:	8b 08                	mov    (%eax),%ecx
58b86d:	8b 49 04             	mov    0x4(%ecx),%ecx
58b870:	03 c8                	add    %eax,%ecx
58b872:	8b 01                	mov    (%ecx),%eax
58b874:	ff 50 0c             	call   *0xc(%eax)
58b877:	c7 45 fc 1e 00 00 00 	movl   $0x1e,-0x4(%ebp)
58b87e:	84 db                	test   %bl,%bl
58b880:	79 2a                	jns    0x58b8ac
58b882:	8b 4d b8             	mov    -0x48(%ebp),%ecx
58b885:	c6 45 fc 22          	movb   $0x22,-0x4(%ebp)
58b889:	c7 45 b4 94 14 be 00 	movl   $0xbe1494,-0x4c(%ebp)
58b890:	85 c9                	test   %ecx,%ecx
58b892:	74 10                	je     0x58b8a4
58b894:	8b 41 04             	mov    0x4(%ecx),%eax
58b897:	83 c1 04             	add    $0x4,%ecx
58b89a:	8b 40 04             	mov    0x4(%eax),%eax
58b89d:	03 c8                	add    %eax,%ecx
58b89f:	8b 01                	mov    (%ecx),%eax
58b8a1:	ff 50 0c             	call   *0xc(%eax)
58b8a4:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
58b8a7:	e8 43 41 eb ff       	call   0x43f9ef
58b8ac:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
58b8af:	c6 45 fc 23          	movb   $0x23,-0x4(%ebp)
58b8b3:	c7 45 d0 d4 21 be 00 	movl   $0xbe21d4,-0x30(%ebp)
58b8ba:	85 c9                	test   %ecx,%ecx
58b8bc:	74 10                	je     0x58b8ce
58b8be:	8b 41 04             	mov    0x4(%ecx),%eax
58b8c1:	83 c1 04             	add    $0x4,%ecx
58b8c4:	8b 40 04             	mov    0x4(%eax),%eax
58b8c7:	03 c8                	add    %eax,%ecx
58b8c9:	8b 01                	mov    (%ecx),%eax
58b8cb:	ff 50 0c             	call   *0xc(%eax)
58b8ce:	8d 4d d0             	lea    -0x30(%ebp),%ecx
58b8d1:	e8 19 41 eb ff       	call   0x43f9ef
58b8d6:	8b 4d dc             	mov    -0x24(%ebp),%ecx
58b8d9:	c6 45 fc 24          	movb   $0x24,-0x4(%ebp)
58b8dd:	c7 45 d8 94 14 be 00 	movl   $0xbe1494,-0x28(%ebp)
58b8e4:	85 c9                	test   %ecx,%ecx
58b8e6:	74 10                	je     0x58b8f8
58b8e8:	8b 41 04             	mov    0x4(%ecx),%eax
58b8eb:	83 c1 04             	add    $0x4,%ecx
58b8ee:	8b 40 04             	mov    0x4(%eax),%eax
58b8f1:	03 c8                	add    %eax,%ecx
58b8f3:	8b 01                	mov    (%ecx),%eax
58b8f5:	ff 50 0c             	call   *0xc(%eax)
58b8f8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58b8fb:	e8 ef 40 eb ff       	call   0x43f9ef
58b900:	8b 45 44             	mov    0x44(%ebp),%eax
58b903:	83 f8 08             	cmp    $0x8,%eax
58b906:	72 0d                	jb     0x58b915
58b908:	40                   	inc    %eax
58b909:	8d 4d 30             	lea    0x30(%ebp),%ecx
58b90c:	50                   	push   %eax
58b90d:	ff 75 30             	push   0x30(%ebp)
58b910:	e8 32 63 e9 ff       	call   0x421c47
58b915:	33 c0                	xor    %eax,%eax
58b917:	c7 45 44 07 00 00 00 	movl   $0x7,0x44(%ebp)
58b91e:	66 89 45 30          	mov    %ax,0x30(%ebp)
58b922:	8b 45 74             	mov    0x74(%ebp),%eax
58b925:	c7 45 40 00 00 00 00 	movl   $0x0,0x40(%ebp)
58b92c:	83 f8 08             	cmp    $0x8,%eax
58b92f:	72 0d                	jb     0x58b93e
58b931:	40                   	inc    %eax
58b932:	8d 4d 60             	lea    0x60(%ebp),%ecx
58b935:	50                   	push   %eax
58b936:	ff 75 60             	push   0x60(%ebp)
58b939:	e8 09 63 e9 ff       	call   0x421c47
58b93e:	33 c0                	xor    %eax,%eax
58b940:	c7 45 74 07 00 00 00 	movl   $0x7,0x74(%ebp)
58b947:	c7 45 70 00 00 00 00 	movl   $0x0,0x70(%ebp)
58b94e:	66 89 45 60          	mov    %ax,0x60(%ebp)
58b952:	8b 4d cc             	mov    -0x34(%ebp),%ecx
58b955:	c6 45 fc 25          	movb   $0x25,-0x4(%ebp)
58b959:	c7 45 c8 f8 e7 bd 00 	movl   $0xbde7f8,-0x38(%ebp)
58b960:	85 c9                	test   %ecx,%ecx
58b962:	74 05                	je     0x58b969
58b964:	8b 01                	mov    (%ecx),%eax
58b966:	ff 50 0c             	call   *0xc(%eax)
58b969:	8d 4d c8             	lea    -0x38(%ebp),%ecx
58b96c:	e8 7e 40 eb ff       	call   0x43f9ef
58b971:	8b 45 2c             	mov    0x2c(%ebp),%eax
58b974:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
58b978:	83 f8 08             	cmp    $0x8,%eax
58b97b:	72 0d                	jb     0x58b98a
58b97d:	40                   	inc    %eax
58b97e:	8d 4d 18             	lea    0x18(%ebp),%ecx
58b981:	50                   	push   %eax
58b982:	ff 75 18             	push   0x18(%ebp)
58b985:	e8 bd 62 e9 ff       	call   0x421c47
58b98a:	8b 75 bc             	mov    -0x44(%ebp),%esi
58b98d:	8b ce                	mov    %esi,%ecx
58b98f:	e8 82 10 ea ff       	call   0x42ca16