581588:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
58158c:	83 f8 08             	cmp    $0x8,%eax
58158f:	72 0d                	jb     0x58159e
581591:	40                   	inc    %eax
581592:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
581595:	50                   	push   %eax
581596:	ff 75 a4             	push   -0x5c(%ebp)
581599:	e8 a9 06 ea ff       	call   0x421c47
58159e:	33 c0                	xor    %eax,%eax
5815a0:	c7 45 b8 07 00 00 00 	movl   $0x7,-0x48(%ebp)
5815a7:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5815ae:	66 89 45 a4          	mov    %ax,-0x5c(%ebp)
5815b2:	39 45 9c             	cmp    %eax,-0x64(%ebp)
5815b5:	0f 84 0c 05 00 00    	je     0x581ac7
5815bb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5815be:	8b cf                	mov    %edi,%ecx
5815c0:	50                   	push   %eax
5815c1:	e8 f6 67 eb ff       	call   0x437dbc
5815c6:	8b f0                	mov    %eax,%esi
5815c8:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5815cb:	8d 45 bc             	lea    -0x44(%ebp),%eax
5815ce:	50                   	push   %eax
5815cf:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5815d3:	e8 df 14 e9 ff       	call   0x412ab7
5815d8:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
5815dc:	8d 56 10             	lea    0x10(%esi),%edx
5815df:	72 02                	jb     0x5815e3
5815e1:	8b 36                	mov    (%esi),%esi
5815e3:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
5815e7:	8d 48 10             	lea    0x10(%eax),%ecx
5815ea:	72 02                	jb     0x5815ee
5815ec:	8b 00                	mov    (%eax),%eax
5815ee:	ff 32                	push   (%edx)
5815f0:	56                   	push   %esi
5815f1:	ff 31                	push   (%ecx)
5815f3:	50                   	push   %eax
5815f4:	e8 60 8a ea ff       	call   0x42a059
5815f9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5815fc:	83 c4 10             	add    $0x10,%esp
5815ff:	8b f0                	mov    %eax,%esi
581601:	83 f9 08             	cmp    $0x8,%ecx
581604:	72 0d                	jb     0x581613
581606:	41                   	inc    %ecx
581607:	51                   	push   %ecx
581608:	ff 75 bc             	push   -0x44(%ebp)
58160b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
58160e:	e8 34 06 ea ff       	call   0x421c47
581613:	33 c0                	xor    %eax,%eax
581615:	c7 45 d0 07 00 00 00 	movl   $0x7,-0x30(%ebp)
58161c:	66 89 45 bc          	mov    %ax,-0x44(%ebp)
581620:	8b 45 e8             	mov    -0x18(%ebp),%eax
581623:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
58162a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
58162e:	83 f8 08             	cmp    $0x8,%eax
581631:	72 0d                	jb     0x581640
581633:	40                   	inc    %eax
581634:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
581637:	50                   	push   %eax
581638:	ff 75 d4             	push   -0x2c(%ebp)
58163b:	e8 07 06 ea ff       	call   0x421c47
581640:	85 f6                	test   %esi,%esi
581642:	0f 85 bd 01 00 00    	jne    0x581805
581648:	8b cf                	mov    %edi,%ecx
58164a:	e8 ba 9d ea ff       	call   0x42b409
58164f:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
581652:	8d 45 90             	lea    -0x70(%ebp),%eax
581655:	50                   	push   %eax
581656:	e8 b0 db eb ff       	call   0x43f20b
58165b:	8b 70 04             	mov    0x4(%eax),%esi
58165e:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
581661:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
581665:	c7 45 90 94 14 be 00 	movl   $0xbe1494,-0x70(%ebp)
58166c:	85 c9                	test   %ecx,%ecx
58166e:	74 10                	je     0x581680
581670:	8b 41 04             	mov    0x4(%ecx),%eax
581673:	83 c1 04             	add    $0x4,%ecx
581676:	8b 40 04             	mov    0x4(%eax),%eax
581679:	03 c8                	add    %eax,%ecx
58167b:	8b 01                	mov    (%ecx),%eax
58167d:	ff 50 0c             	call   *0xc(%eax)
581680:	8d 4d 90             	lea    -0x70(%ebp),%ecx
581683:	e8 67 e3 eb ff       	call   0x43f9ef
581688:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
58168c:	85 f6                	test   %esi,%esi
58168e:	74 3a                	je     0x5816ca
581690:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
581693:	8d 45 90             	lea    -0x70(%ebp),%eax
581696:	50                   	push   %eax
581697:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
58169b:	e8 6b db eb ff       	call   0x43f20b
5816a0:	8b 48 04             	mov    0x4(%eax),%ecx
5816a3:	53                   	push   %ebx
5816a4:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5816a8:	8b 01                	mov    (%ecx),%eax
5816aa:	8b 00                	mov    (%eax),%eax
5816ac:	ff d0                	call   *%eax
5816ae:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5816b1:	88 45 a3             	mov    %al,-0x5d(%ebp)
5816b4:	e8 6e c0 ea ff       	call   0x42d727
5816b9:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
5816bd:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
5816c4:	0f 84 98 00 00 00    	je     0x581762
5816ca:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5816cd:	e8 66 7d ea ff       	call   0x429438
5816d2:	84 c0                	test   %al,%al
5816d4:	0f 84 be 00 00 00    	je     0x581798
5816da:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5816dd:	8d 45 bc             	lea    -0x44(%ebp),%eax
5816e0:	50                   	push   %eax
5816e1:	e8 d1 13 e9 ff       	call   0x412ab7
5816e6:	8b f0                	mov    %eax,%esi
5816e8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5816eb:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
5816ef:	e8 e5 53 eb ff       	call   0x436ad9
5816f4:	56                   	push   %esi
5816f5:	8b c8                	mov    %eax,%ecx
5816f7:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
5816fb:	e8 71 11 eb ff       	call   0x432871
581700:	53                   	push   %ebx
581701:	8b c8                	mov    %eax,%ecx
581703:	e8 e6 1b eb ff       	call   0x4332ee
581708:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
58170b:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
581711:	e8 8f 7e ea ff       	call   0x4295a5
581716:	8d 4d bc             	lea    -0x44(%ebp),%ecx
581719:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
58171d:	e8 8f 3c e9 ff       	call   0x4153b1
581722:	eb 7e                	jmp    0x5817a2
581724:	68 7c 17 be 00       	push   $0xbe177c
581729:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
58172c:	e8 3c e8 ea ff       	call   0x42ff6d
581731:	8d 45 d4             	lea    -0x2c(%ebp),%eax
581734:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
581738:	50                   	push   %eax
581739:	e8 05 7b eb ff       	call   0x439243
58173e:	83 c4 04             	add    $0x4,%esp
581741:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
581744:	e8 68 3c e9 ff       	call   0x4153b1
581749:	b8 4f 17 58 00       	mov    $0x58174f,%eax
58174e:	c3                   	ret
58174f:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
581755:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
58175b:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
581762:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
581765:	8d 45 d4             	lea    -0x2c(%ebp),%eax
581768:	50                   	push   %eax
581769:	e8 49 13 e9 ff       	call   0x412ab7
58176e:	0f b6 97 98 00 00 00 	movzbl 0x98(%edi),%edx
581775:	8b cf                	mov    %edi,%ecx
581777:	8b 37                	mov    (%edi),%esi
581779:	53                   	push   %ebx
58177a:	ff b7 9c 00 00 00    	push   0x9c(%edi)
581780:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
581784:	52                   	push   %edx
581785:	6a 01                	push   $0x1
581787:	50                   	push   %eax
581788:	ff 56 18             	call   *0x18(%esi)
58178b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
58178e:	e8 1e 3c e9 ff       	call   0x4153b1
581793:	e9 fa 02 00 00       	jmp    0x581a92
581798:	c7 87 b0 00 00 00 00 	movl   $0x0,0xb0(%edi)
58179f:	00 00 00
5817a2:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5817a5:	8d 45 90             	lea    -0x70(%ebp),%eax
5817a8:	50                   	push   %eax
5817a9:	e8 ce 9c ea ff       	call   0x42b47c
5817ae:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
5817b1:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
5817b5:	85 c9                	test   %ecx,%ecx
5817b7:	74 05                	je     0x5817be
5817b9:	8b 01                	mov    (%ecx),%eax
5817bb:	53                   	push   %ebx
5817bc:	ff 10                	call   *(%eax)
5817be:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5817c1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5817c4:	50                   	push   %eax
5817c5:	e8 ed 12 e9 ff       	call   0x412ab7
5817ca:	8b f0                	mov    %eax,%esi
5817cc:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5817cf:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
5817d3:	e8 60 7c ea ff       	call   0x429438
5817d8:	0f b6 8f 98 00 00 00 	movzbl 0x98(%edi),%ecx
5817df:	8b 17                	mov    (%edi),%edx
5817e1:	53                   	push   %ebx
5817e2:	ff b7 9c 00 00 00    	push   0x9c(%edi)
5817e8:	51                   	push   %ecx
5817e9:	50                   	push   %eax
5817ea:	56                   	push   %esi
5817eb:	8b cf                	mov    %edi,%ecx
5817ed:	ff 52 18             	call   *0x18(%edx)
5817f0:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5817f3:	e8 b9 3b e9 ff       	call   0x4153b1
5817f8:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5817fb:	e8 27 bf ea ff       	call   0x42d727
581800:	e9 8d 02 00 00       	jmp    0x581a92
581805:	6a 20                	push   $0x20
581807:	e8 71 91 ea ff       	call   0x42a97d
58180c:	8b f0                	mov    %eax,%esi
58180e:	83 c4 04             	add    $0x4,%esp
581811:	89 75 8c             	mov    %esi,-0x74(%ebp)
581814:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
581818:	85 f6                	test   %esi,%esi
58181a:	74 3c                	je     0x581858
58181c:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
58181f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
581822:	50                   	push   %eax
581823:	e8 8f 12 e9 ff       	call   0x412ab7
581828:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
58182e:	c7 85 7c ff ff ff 01 	movl   $0x1,-0x84(%ebp)
581835:	00 00 00
581838:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
58183b:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
58183f:	e8 f4 7b ea ff       	call   0x429438
581844:	6a 01                	push   $0x1
581846:	50                   	push   %eax
581847:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
58184d:	8b ce                	mov    %esi,%ecx
58184f:	e8 d5 81 e9 ff       	call   0x419a29
581854:	8b f0                	mov    %eax,%esi
581856:	eb 02                	jmp    0x58185a
581858:	33 f6                	xor    %esi,%esi
58185a:	8d 4d 80             	lea    -0x80(%ebp),%ecx
58185d:	c7 45 fc 12 00 00 00 	movl   $0x12,-0x4(%ebp)
581864:	e8 ad b1 ea ff       	call   0x42ca16
581869:	c7 45 fc 13 00 00 00 	movl   $0x13,-0x4(%ebp)
581870:	c7 45 80 3c 04 be 00 	movl   $0xbe043c,-0x80(%ebp)
581877:	89 75 84             	mov    %esi,-0x7c(%ebp)
58187a:	85 f6                	test   %esi,%esi
58187c:	74 10                	je     0x58188e
58187e:	8b 46 04             	mov    0x4(%esi),%eax
581881:	8b 48 04             	mov    0x4(%eax),%ecx
581884:	83 c1 04             	add    $0x4,%ecx
581887:	03 ce                	add    %esi,%ecx
581889:	8b 01                	mov    (%ecx),%eax
58188b:	ff 50 08             	call   *0x8(%eax)
58188e:	f6 85 7c ff ff ff 01 	testb  $0x1,-0x84(%ebp)
581895:	c7 45 fc 15 00 00 00 	movl   $0x15,-0x4(%ebp)
58189c:	74 08                	je     0x5818a6
58189e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5818a1:	e8 0b 3b e9 ff       	call   0x4153b1
5818a6:	8b 07                	mov    (%edi),%eax
5818a8:	8d 4d 80             	lea    -0x80(%ebp),%ecx
5818ab:	51                   	push   %ecx
5818ac:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5818af:	51                   	push   %ecx
5818b0:	8b cf                	mov    %edi,%ecx
5818b2:	ff 50 08             	call   *0x8(%eax)
5818b5:	8b cf                	mov    %edi,%ecx
5818b7:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
5818bb:	e8 49 9b ea ff       	call   0x42b409
5818c0:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5818c3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5818c6:	50                   	push   %eax
5818c7:	e8 eb 11 e9 ff       	call   0x412ab7
5818cc:	8b 17                	mov    (%edi),%edx
5818ce:	8b cf                	mov    %edi,%ecx
5818d0:	50                   	push   %eax
5818d1:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
5818d5:	ff 52 1c             	call   *0x1c(%edx)
5818d8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5818db:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
5818df:	e8 cd 3a e9 ff       	call   0x4153b1
5818e4:	8d 45 90             	lea    -0x70(%ebp),%eax
5818e7:	8b cf                	mov    %edi,%ecx
5818e9:	50                   	push   %eax
5818ea:	e8 bc b1 eb ff       	call   0x43caab
5818ef:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
5818f2:	8d 45 88             	lea    -0x78(%ebp),%eax
5818f5:	50                   	push   %eax
5818f6:	e8 10 d9 eb ff       	call   0x43f20b
5818fb:	8b 70 04             	mov    0x4(%eax),%esi
5818fe:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
581901:	c6 45 fc 18          	movb   $0x18,-0x4(%ebp)
581905:	c7 45 88 94 14 be 00 	movl   $0xbe1494,-0x78(%ebp)
58190c:	85 c9                	test   %ecx,%ecx
58190e:	74 10                	je     0x581920
581910:	8b 41 04             	mov    0x4(%ecx),%eax
581913:	83 c1 04             	add    $0x4,%ecx
581916:	8b 40 04             	mov    0x4(%eax),%eax
581919:	03 c8                	add    %eax,%ecx
58191b:	8b 01                	mov    (%ecx),%eax
58191d:	ff 50 0c             	call   *0xc(%eax)
581920:	8d 4d 88             	lea    -0x78(%ebp),%ecx
581923:	e8 c7 e0 eb ff       	call   0x43f9ef
581928:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
58192c:	85 f6                	test   %esi,%esi
58192e:	74 3a                	je     0x58196a
581930:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
581933:	8d 45 88             	lea    -0x78(%ebp),%eax
581936:	50                   	push   %eax
581937:	c6 45 fc 19          	movb   $0x19,-0x4(%ebp)
58193b:	e8 cb d8 eb ff       	call   0x43f20b
581940:	8b 48 04             	mov    0x4(%eax),%ecx
581943:	53                   	push   %ebx
581944:	c6 45 fc 1a          	movb   $0x1a,-0x4(%ebp)
581948:	8b 01                	mov    (%ecx),%eax
58194a:	8b 00                	mov    (%eax),%eax
58194c:	ff d0                	call   *%eax
58194e:	8d 4d 88             	lea    -0x78(%ebp),%ecx
581951:	88 45 a3             	mov    %al,-0x5d(%ebp)
581954:	e8 ce bd ea ff       	call   0x42d727
581959:	80 7d a3 00          	cmpb   $0x0,-0x5d(%ebp)
58195d:	c7 45 fc 16 00 00 00 	movl   $0x16,-0x4(%ebp)
581964:	0f 84 cc 00 00 00    	je     0x581a36
58196a:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
58196d:	e8 c6 7a ea ff       	call   0x429438
581972:	84 c0                	test   %al,%al
581974:	0f 84 8a 00 00 00    	je     0x581a04
58197a:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
58197d:	8d 45 bc             	lea    -0x44(%ebp),%eax
581980:	50                   	push   %eax
581981:	e8 31 11 e9 ff       	call   0x412ab7
581986:	8b f0                	mov    %eax,%esi
581988:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
58198b:	c6 45 fc 1d          	movb   $0x1d,-0x4(%ebp)
58198f:	e8 45 51 eb ff       	call   0x436ad9
581994:	56                   	push   %esi
581995:	8b c8                	mov    %eax,%ecx
581997:	c6 45 fc 1e          	movb   $0x1e,-0x4(%ebp)
58199b:	e8 d1 0e eb ff       	call   0x432871
5819a0:	53                   	push   %ebx
5819a1:	8b c8                	mov    %eax,%ecx
5819a3:	e8 46 19 eb ff       	call   0x4332ee
5819a8:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5819ab:	89 87 b0 00 00 00    	mov    %eax,0xb0(%edi)
5819b1:	e8 ef 7b ea ff       	call   0x4295a5
5819b6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
5819b9:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
5819bd:	e8 ef 39 e9 ff       	call   0x4153b1
5819c2:	eb 4a                	jmp    0x581a0e
5819c4:	68 b0 17 be 00       	push   $0xbe17b0
5819c9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5819cc:	e8 9c e5 ea ff       	call   0x42ff6d
5819d1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5819d4:	c6 45 fc 1c          	movb   $0x1c,-0x4(%ebp)
5819d8:	50                   	push   %eax
5819d9:	e8 65 78 eb ff       	call   0x439243
5819de:	83 c4 04             	add    $0x4,%esp
5819e1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
5819e4:	e8 c8 39 e9 ff       	call   0x4153b1
5819e9:	b8 ef 19 58 00       	mov    $0x5819ef,%eax
5819ee:	c3                   	ret
5819ef:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
5819f5:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
5819fb:	c7 45 fc 16 00 00 00 	movl   $0x16,-0x4(%ebp)
581a02:	eb 32                	jmp    0x581a36
581a04:	c7 87 b0 00 00 00 00 	movl   $0x0,0xb0(%edi)
581a0b:	00 00 00
581a0e:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
581a11:	8d 45 88             	lea    -0x78(%ebp),%eax