56669f:	74 07                	je     0x5666a8
5666a1:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5666a6:	eb 09                	jmp    0x5666b1
5666a8:	8b 46 68             	mov    0x68(%esi),%eax
5666ab:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5666ae:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5666b1:	89 50 08             	mov    %edx,0x8(%eax)
5666b4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5666b7:	8b 56 6c             	mov    0x6c(%esi),%edx
5666ba:	85 c9                	test   %ecx,%ecx
5666bc:	79 03                	jns    0x5666c1
5666be:	8d 4a ff             	lea    -0x1(%edx),%ecx
5666c1:	8b 06                	mov    (%esi),%eax
5666c3:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5666c7:	0f 84 0d 04 00 00    	je     0x566ada
5666cd:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5666d2:	e9 0c 04 00 00       	jmp    0x566ae3
5666d7:	8b 53 40             	mov    0x40(%ebx),%edx
5666da:	85 d2                	test   %edx,%edx
5666dc:	74 55                	je     0x566733
5666de:	2b 55 14             	sub    0x14(%ebp),%edx
5666e1:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5666e4:	42                   	inc    %edx
5666e5:	39 4e 70             	cmp    %ecx,0x70(%esi)
5666e8:	7f 15                	jg     0x5666ff
5666ea:	6a 00                	push   $0x0
5666ec:	6a 01                	push   $0x1
5666ee:	52                   	push   %edx
5666ef:	6a 52                	push   $0x52
5666f1:	56                   	push   %esi
5666f2:	e8 09 fe f9 ff       	call   0x506500
5666f7:	83 c4 14             	add    $0x14,%esp
5666fa:	e9 e7 03 00 00       	jmp    0x566ae6
5666ff:	8d 41 01             	lea    0x1(%ecx),%eax
566702:	89 46 6c             	mov    %eax,0x6c(%esi)
566705:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
566708:	8b 46 68             	mov    0x68(%esi),%eax
56670b:	c7 04 88 52 00 00 00 	movl   $0x52,(%eax,%ecx,4)
566712:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
566716:	c7 44 88 08 01 00 00 	movl   $0x1,0x8(%eax,%ecx,4)
56671d:	00
56671e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
566725:	00
566726:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56672d:	00
56672e:	e9 b3 03 00 00       	jmp    0x566ae6
566733:	8b 55 f8             	mov    -0x8(%ebp),%edx
566736:	81 7a 10 70 df 43 00 	cmpl   $0x43df70,0x10(%edx)
56673d:	0f 84 a3 03 00 00    	je     0x566ae6
566743:	33 c0                	xor    %eax,%eax
566745:	89 45 e8             	mov    %eax,-0x18(%ebp)
566748:	39 43 28             	cmp    %eax,0x28(%ebx)
56674b:	0f 84 e3 00 00 00    	je     0x566834
566751:	8a 47 13             	mov    0x13(%edi),%al
566754:	84 c0                	test   %al,%al
566756:	75 08                	jne    0x566760
566758:	ff 47 2c             	incl   0x2c(%edi)
56675b:	8b 57 2c             	mov    0x2c(%edi),%edx
56675e:	eb 0f                	jmp    0x56676f
566760:	fe c8                	dec    %al
566762:	88 47 13             	mov    %al,0x13(%edi)
566765:	0f b6 c0             	movzbl %al,%eax
566768:	8b 94 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%edx
56676f:	8b 43 50             	mov    0x50(%ebx),%eax
566772:	03 c1                	add    %ecx,%eax
566774:	89 55 f0             	mov    %edx,-0x10(%ebp)
566777:	8b 4e 6c             	mov    0x6c(%esi),%ecx
56677a:	89 45 e8             	mov    %eax,-0x18(%ebp)
56677d:	39 4e 70             	cmp    %ecx,0x70(%esi)
566780:	7f 15                	jg     0x566797
566782:	52                   	push   %edx
566783:	50                   	push   %eax
566784:	ff 75 10             	push   0x10(%ebp)
566787:	6a 59                	push   $0x59
566789:	56                   	push   %esi
56678a:	e8 71 fd f9 ff       	call   0x506500
56678f:	8b 55 f0             	mov    -0x10(%ebp),%edx
566792:	83 c4 14             	add    $0x14,%esp
566795:	eb 30                	jmp    0x5667c7
566797:	8b 7d 10             	mov    0x10(%ebp),%edi
56679a:	8d 41 01             	lea    0x1(%ecx),%eax
56679d:	89 46 6c             	mov    %eax,0x6c(%esi)
5667a0:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5667a3:	8b 46 68             	mov    0x68(%esi),%eax
5667a6:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5667aa:	8b 7d e8             	mov    -0x18(%ebp),%edi
5667ad:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
5667b1:	8b 7d 08             	mov    0x8(%ebp),%edi
5667b4:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
5667bb:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5667bf:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5667c6:	00
5667c7:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5667ca:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5667cd:	39 4e 70             	cmp    %ecx,0x70(%esi)
5667d0:	7f 18                	jg     0x5667ea
5667d2:	6a 01                	push   $0x1
5667d4:	6a 00                	push   $0x0
5667d6:	52                   	push   %edx
5667d7:	6a 14                	push   $0x14
5667d9:	56                   	push   %esi
5667da:	e8 21 fd f9 ff       	call   0x506500
5667df:	8b 55 f0             	mov    -0x10(%ebp),%edx
5667e2:	83 c4 14             	add    $0x14,%esp
5667e5:	89 45 e8             	mov    %eax,-0x18(%ebp)
5667e8:	eb 32                	jmp    0x56681c
5667ea:	8b 7d 08             	mov    0x8(%ebp),%edi
5667ed:	8d 41 01             	lea    0x1(%ecx),%eax
5667f0:	89 46 6c             	mov    %eax,0x6c(%esi)
5667f3:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5667f6:	8b 46 68             	mov    0x68(%esi),%eax
5667f9:	c7 04 88 14 00 00 00 	movl   $0x14,(%eax,%ecx,4)
566800:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
566804:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
56680b:	00
56680c:	c7 44 88 0c 01 00 00 	movl   $0x1,0xc(%eax,%ecx,4)
566813:	00
566814:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56681b:	00
56681c:	85 d2                	test   %edx,%edx
56681e:	74 14                	je     0x566834
566820:	8a 47 13             	mov    0x13(%edi),%al
566823:	3c 08                	cmp    $0x8,%al
566825:	73 0d                	jae    0x566834
566827:	0f b6 c0             	movzbl %al,%eax
56682a:	89 94 87 94 00 00 00 	mov    %edx,0x94(%edi,%eax,4)
566831:	fe 47 13             	incb   0x13(%edi)
566834:	80 7b 60 00          	cmpb   $0x0,0x60(%ebx)
566838:	0f 84 cc 00 00 00    	je     0x56690a
56683e:	8b 46 6c             	mov    0x6c(%esi),%eax
566841:	89 45 f0             	mov    %eax,-0x10(%ebp)
566844:	8b 43 48             	mov    0x48(%ebx),%eax
566847:	8b 40 14             	mov    0x14(%eax),%eax
56684a:	8b 08                	mov    (%eax),%ecx
56684c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
56684f:	83 f9 01             	cmp    $0x1,%ecx
566852:	75 26                	jne    0x56687a
566854:	8a 47 13             	mov    0x13(%edi),%al
566857:	84 c0                	test   %al,%al
566859:	75 0b                	jne    0x566866
56685b:	ff 47 2c             	incl   0x2c(%edi)
56685e:	8b 47 2c             	mov    0x2c(%edi),%eax
566861:	89 45 fc             	mov    %eax,-0x4(%ebp)
566864:	eb 3b                	jmp    0x5668a1
566866:	fe c8                	dec    %al
566868:	88 47 13             	mov    %al,0x13(%edi)
56686b:	0f b6 c0             	movzbl %al,%eax
56686e:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
566875:	89 45 fc             	mov    %eax,-0x4(%ebp)
566878:	eb 27                	jmp    0x5668a1
56687a:	8b 57 1c             	mov    0x1c(%edi),%edx
56687d:	8b 47 20             	mov    0x20(%edi),%eax
566880:	89 45 fc             	mov    %eax,-0x4(%ebp)
566883:	3b ca                	cmp    %edx,%ecx
566885:	7f 0c                	jg     0x566893
566887:	03 c1                	add    %ecx,%eax
566889:	2b d1                	sub    %ecx,%edx
56688b:	89 47 20             	mov    %eax,0x20(%edi)
56688e:	89 57 1c             	mov    %edx,0x1c(%edi)
566891:	eb 0e                	jmp    0x5668a1
566893:	8b 47 2c             	mov    0x2c(%edi),%eax
566896:	8d 50 01             	lea    0x1(%eax),%edx
566899:	03 c1                	add    %ecx,%eax
56689b:	89 55 fc             	mov    %edx,-0x4(%ebp)
56689e:	89 47 2c             	mov    %eax,0x2c(%edi)
5668a1:	8b 43 48             	mov    0x48(%ebx),%eax
5668a4:	6a 00                	push   $0x0
5668a6:	6a 00                	push   $0x0
5668a8:	ff 75 fc             	push   -0x4(%ebp)
5668ab:	ff 70 14             	push   0x14(%eax)
5668ae:	57                   	push   %edi
5668af:	e8 1c d4 fb ff       	call   0x523cd0
5668b4:	6a ff                	push   $0xffffffff
5668b6:	56                   	push   %esi
5668b7:	e8 b4 37 fe ff       	call   0x54a070
5668bc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5668bf:	83 c4 1c             	add    $0x1c,%esp
5668c2:	8b d0                	mov    %eax,%edx
5668c4:	85 c9                	test   %ecx,%ecx
5668c6:	79 04                	jns    0x5668cc
5668c8:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5668cb:	49                   	dec    %ecx
5668cc:	8b 06                	mov    (%esi),%eax
5668ce:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5668d2:	74 07                	je     0x5668db
5668d4:	b9 ec 02 73 00       	mov    $0x7302ec,%ecx
5668d9:	eb 09                	jmp    0x5668e4
5668db:	8b 46 68             	mov    0x68(%esi),%eax
5668de:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5668e1:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5668e4:	3b ca                	cmp    %edx,%ecx
5668e6:	77 22                	ja     0x56690a
5668e8:	8b 7d 10             	mov    0x10(%ebp),%edi
5668eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5668f0:	80 39 59             	cmpb   $0x59,(%ecx)
5668f3:	75 0b                	jne    0x566900
5668f5:	8b 41 04             	mov    0x4(%ecx),%eax
5668f8:	3b 43 30             	cmp    0x30(%ebx),%eax
5668fb:	75 03                	jne    0x566900
5668fd:	89 79 04             	mov    %edi,0x4(%ecx)
566900:	83 c1 14             	add    $0x14,%ecx
566903:	3b ca                	cmp    %edx,%ecx
566905:	76 e9                	jbe    0x5668f0
566907:	8b 7d 08             	mov    0x8(%ebp),%edi
56690a:	8b 45 f8             	mov    -0x8(%ebp),%eax
56690d:	f6 40 04 20          	testb  $0x20,0x4(%eax)
566911:	0f 84 c3 00 00 00    	je     0x5669da
566917:	8b 43 48             	mov    0x48(%ebx),%eax
56691a:	8b 40 14             	mov    0x14(%eax),%eax
56691d:	ff 70 04             	push   0x4(%eax)
566920:	57                   	push   %edi
566921:	e8 ba f9 fb ff       	call   0x5262e0
566926:	83 c4 08             	add    $0x8,%esp
566929:	89 45 f0             	mov    %eax,-0x10(%ebp)
56692c:	85 c0                	test   %eax,%eax
56692e:	75 08                	jne    0x566938
566930:	8b 07                	mov    (%edi),%eax
566932:	8b 40 08             	mov    0x8(%eax),%eax
566935:	89 45 f0             	mov    %eax,-0x10(%ebp)
566938:	8b 56 6c             	mov    0x6c(%esi),%edx
56693b:	39 56 70             	cmp    %edx,0x70(%esi)
56693e:	7f 15                	jg     0x566955
566940:	6a 00                	push   $0x0
566942:	6a 00                	push   $0x0
566944:	6a 00                	push   $0x0
566946:	6a 51                	push   $0x51
566948:	56                   	push   %esi
566949:	e8 b2 fb f9 ff       	call   0x506500
56694e:	83 c4 14             	add    $0x14,%esp
566951:	8b d0                	mov    %eax,%edx
566953:	eb 36                	jmp    0x56698b
566955:	8b 7d 08             	mov    0x8(%ebp),%edi
566958:	8d 42 01             	lea    0x1(%edx),%eax
56695b:	89 46 6c             	mov    %eax,0x6c(%esi)
56695e:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
566961:	8b 46 68             	mov    0x68(%esi),%eax
566964:	c7 04 88 51 00 00 00 	movl   $0x51,(%eax,%ecx,4)
56696b:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
566972:	00
566973:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
56697a:	00
56697b:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
566982:	00
566983:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56698a:	00
56698b:	8b 06                	mov    (%esi),%eax
56698d:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
566991:	74 10                	je     0x5669a3
566993:	ff 75 f0             	push   -0x10(%ebp)
566996:	6a fe                	push   $0xfffffffe
566998:	50                   	push   %eax
566999:	e8 12 d3 f9 ff       	call   0x503cb0
56699e:	83 c4 0c             	add    $0xc,%esp
5669a1:	eb 37                	jmp    0x5669da
5669a3:	85 d2                	test   %edx,%edx
5669a5:	79 04                	jns    0x5669ab
5669a7:	8b 56 6c             	mov    0x6c(%esi),%edx
5669aa:	4a                   	dec    %edx
5669ab:	8b 46 68             	mov    0x68(%esi),%eax
5669ae:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
5669b1:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
5669b6:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5669b9:	74 11                	je     0x5669cc
5669bb:	6a fe                	push   $0xfffffffe
5669bd:	ff 75 f0             	push   -0x10(%ebp)
5669c0:	51                   	push   %ecx
5669c1:	56                   	push   %esi
5669c2:	e8 79 32 ff ff       	call   0x559c40
5669c7:	83 c4 10             	add    $0x10,%esp
5669ca:	eb 0e                	jmp    0x5669da
5669cc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5669cf:	85 c0                	test   %eax,%eax
5669d1:	74 07                	je     0x5669da
5669d3:	89 41 10             	mov    %eax,0x10(%ecx)
5669d6:	c6 41 01 fe          	movb   $0xfe,0x1(%ecx)
5669da:	8b 55 14             	mov    0x14(%ebp),%edx
5669dd:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5669e0:	f7 da                	neg    %edx
5669e2:	8b 43 34             	mov    0x34(%ebx),%eax
5669e5:	1b d2                	sbb    %edx,%edx
5669e7:	89 45 f0             	mov    %eax,-0x10(%ebp)
5669ea:	81 c2 9a 00 00 00    	add    $0x9a,%edx
5669f0:	39 4e 70             	cmp    %ecx,0x70(%esi)
5669f3:	7f 13                	jg     0x566a08
5669f5:	50                   	push   %eax
5669f6:	ff 75 fc             	push   -0x4(%ebp)
5669f9:	ff 75 14             	push   0x14(%ebp)
5669fc:	52                   	push   %edx
5669fd:	56                   	push   %esi
5669fe:	e8 fd fa f9 ff       	call   0x506500
566a03:	83 c4 14             	add    $0x14,%esp
566a06:	eb 38                	jmp    0x566a40
566a08:	8d 41 01             	lea    0x1(%ecx),%eax
566a0b:	89 46 6c             	mov    %eax,0x6c(%esi)
566a0e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
566a11:	8b 46 68             	mov    0x68(%esi),%eax
566a14:	88 14 88             	mov    %dl,(%eax,%ecx,4)
566a17:	33 d2                	xor    %edx,%edx
566a19:	66 89 54 88 02       	mov    %dx,0x2(%eax,%ecx,4)
566a1e:	8b 55 14             	mov    0x14(%ebp),%edx
566a21:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
566a25:	8b 55 fc             	mov    -0x4(%ebp),%edx
566a28:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
566a2c:	8b 55 f0             	mov    -0x10(%ebp),%edx
566a2f:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
566a33:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
566a3a:	00
566a3b:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
566a40:	8b 06                	mov    (%esi),%eax
566a42:	8b 55 f8             	mov    -0x8(%ebp),%edx
566a45:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
566a49:	74 0e                	je     0x566a59
566a4b:	52                   	push   %edx
566a4c:	6a f8                	push   $0xfffffff8
566a4e:	50                   	push   %eax
566a4f:	e8 5c d2 f9 ff       	call   0x503cb0
566a54:	83 c4 0c             	add    $0xc,%esp
566a57:	eb 12                	jmp    0x566a6b
566a59:	8b 46 6c             	mov    0x6c(%esi),%eax
566a5c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
566a5f:	8b 46 68             	mov    0x68(%esi),%eax
566a62:	c6 44 88 ed f8       	movb   $0xf8,-0x13(%eax,%ecx,4)
566a67:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
566a6b:	8b 4e 6c             	mov    0x6c(%esi),%ecx
566a6e:	85 c9                	test   %ecx,%ecx
566a70:	7e 11                	jle    0x566a83
566a72:	8b 45 f4             	mov    -0xc(%ebp),%eax
566a75:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
566a78:	0f b6 d0             	movzbl %al,%edx
566a7b:	8b 46 68             	mov    0x68(%esi),%eax
566a7e:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
566a83:	80 7b 60 00          	cmpb   $0x0,0x60(%ebx)
566a87:	74 33                	je     0x566abc
566a89:	8b 45 f4             	mov    -0xc(%ebp),%eax
566a8c:	83 f8 01             	cmp    $0x1,%eax
566a8f:	75 1d                	jne    0x566aae
566a91:	8b 4d fc             	mov    -0x4(%ebp),%ecx
566a94:	85 c9                	test   %ecx,%ecx
566a96:	74 24                	je     0x566abc
566a98:	8a 47 13             	mov    0x13(%edi),%al
566a9b:	3c 08                	cmp    $0x8,%al
566a9d:	73 1d                	jae    0x566abc
566a9f:	0f b6 c0             	movzbl %al,%eax
566aa2:	89 8c 87 94 00 00 00 	mov    %ecx,0x94(%edi,%eax,4)
566aa9:	fe 47 13             	incb   0x13(%edi)
566aac:	eb 0e                	jmp    0x566abc
566aae:	3b 47 1c             	cmp    0x1c(%edi),%eax
566ab1:	7e 09                	jle    0x566abc
566ab3:	89 47 1c             	mov    %eax,0x1c(%edi)
566ab6:	8b 45 fc             	mov    -0x4(%ebp),%eax