502851:	c7 04 88 32 00 00 00 	movl   $0x32,(%eax,%ecx,4)
502858:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50285c:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
502860:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
502867:	00
502868:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50286f:	00
502870:	8b 4d 18             	mov    0x18(%ebp),%ecx
502873:	47                   	inc    %edi
502874:	3b 79 14             	cmp    0x14(%ecx),%edi
502877:	7c 97                	jl     0x502810
502879:	8b 5d 08             	mov    0x8(%ebp),%ebx
50287c:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
502880:	0f 85 b6 06 00 00    	jne    0x502f3c
502886:	8b 55 14             	mov    0x14(%ebp),%edx
502889:	85 d2                	test   %edx,%edx
50288b:	0f 85 53 02 00 00    	jne    0x502ae4
502891:	8a 43 13             	mov    0x13(%ebx),%al
502894:	84 c0                	test   %al,%al
502896:	75 08                	jne    0x5028a0
502898:	ff 43 2c             	incl   0x2c(%ebx)
50289b:	8b 7b 2c             	mov    0x2c(%ebx),%edi
50289e:	eb 0f                	jmp    0x5028af
5028a0:	fe c8                	dec    %al
5028a2:	88 43 13             	mov    %al,0x13(%ebx)
5028a5:	0f b6 c0             	movzbl %al,%eax
5028a8:	8b bc 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%edi
5028af:	8b 45 1c             	mov    0x1c(%ebp),%eax
5028b2:	89 7d 28             	mov    %edi,0x28(%ebp)
5028b5:	0f b7 00             	movzwl (%eax),%eax
5028b8:	50                   	push   %eax
5028b9:	ff 31                	push   (%ecx)
5028bb:	e8 90 b5 03 00       	call   0x53de50
5028c0:	8b 55 20             	mov    0x20(%ebp),%edx
5028c3:	83 c4 08             	add    $0x8,%esp
5028c6:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5028c9:	42                   	inc    %edx
5028ca:	98                   	cwtl
5028cb:	03 d0                	add    %eax,%edx
5028cd:	39 4e 70             	cmp    %ecx,0x70(%esi)
5028d0:	7f 11                	jg     0x5028e3
5028d2:	6a 00                	push   $0x0
5028d4:	57                   	push   %edi
5028d5:	52                   	push   %edx
5028d6:	6a 4e                	push   $0x4e
5028d8:	56                   	push   %esi
5028d9:	e8 22 3c 00 00       	call   0x506500
5028de:	83 c4 14             	add    $0x14,%esp
5028e1:	eb 2e                	jmp    0x502911
5028e3:	8b 5d 08             	mov    0x8(%ebp),%ebx
5028e6:	8d 41 01             	lea    0x1(%ecx),%eax
5028e9:	89 46 6c             	mov    %eax,0x6c(%esi)
5028ec:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5028ef:	8b 46 68             	mov    0x68(%esi),%eax
5028f2:	c7 04 88 4e 00 00 00 	movl   $0x4e,(%eax,%ecx,4)
5028f9:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5028fd:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
502901:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
502908:	00
502909:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
502910:	00
502911:	8b 56 6c             	mov    0x6c(%esi),%edx
502914:	89 55 08             	mov    %edx,0x8(%ebp)
502917:	39 56 70             	cmp    %edx,0x70(%esi)
50291a:	7f 15                	jg     0x502931
50291c:	6a 00                	push   $0x0
50291e:	6a 00                	push   $0x0
502920:	57                   	push   %edi
502921:	6a 0f                	push   $0xf
502923:	56                   	push   %esi
502924:	e8 d7 3b 00 00       	call   0x506500
502929:	83 c4 14             	add    $0x14,%esp
50292c:	89 45 08             	mov    %eax,0x8(%ebp)
50292f:	eb 2f                	jmp    0x502960
502931:	8d 42 01             	lea    0x1(%edx),%eax
502934:	89 46 6c             	mov    %eax,0x6c(%esi)
502937:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
50293a:	8b 46 68             	mov    0x68(%esi),%eax
50293d:	c7 04 88 0f 00 00 00 	movl   $0xf,(%eax,%ecx,4)
502944:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
502948:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
50294f:	00
502950:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
502957:	00
502958:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
50295f:	00
502960:	8b 45 18             	mov    0x18(%ebp),%eax
502963:	8b 4d 10             	mov    0x10(%ebp),%ecx
502966:	3b 08                	cmp    (%eax),%ecx
502968:	75 6e                	jne    0x5029d8
50296a:	83 7d 24 01          	cmpl   $0x1,0x24(%ebp)
50296e:	75 68                	jne    0x5029d8
502970:	8b 4e 6c             	mov    0x6c(%esi),%ecx
502973:	39 4e 70             	cmp    %ecx,0x70(%esi)
502976:	7f 17                	jg     0x50298f
502978:	57                   	push   %edi
502979:	ff 75 fc             	push   -0x4(%ebp)
50297c:	ff 75 20             	push   0x20(%ebp)
50297f:	6a 35                	push   $0x35
502981:	56                   	push   %esi
502982:	e8 79 3b 00 00       	call   0x506500
502987:	8b 7d fc             	mov    -0x4(%ebp),%edi
50298a:	83 c4 14             	add    $0x14,%esp
50298d:	eb 30                	jmp    0x5029bf
50298f:	8b 55 20             	mov    0x20(%ebp),%edx
502992:	8d 41 01             	lea    0x1(%ecx),%eax
502995:	8b 7d fc             	mov    -0x4(%ebp),%edi
502998:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
50299b:	89 46 6c             	mov    %eax,0x6c(%esi)
50299e:	8b 46 68             	mov    0x68(%esi),%eax
5029a1:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
5029a5:	8b 55 28             	mov    0x28(%ebp),%edx
5029a8:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
5029af:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
5029b3:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5029b7:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5029be:	00
5029bf:	8b 46 6c             	mov    0x6c(%esi),%eax
5029c2:	85 c0                	test   %eax,%eax
5029c4:	7e 15                	jle    0x5029db
5029c6:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5029c9:	ba 90 00 00 00       	mov    $0x90,%edx
5029ce:	8b 46 68             	mov    0x68(%esi),%eax
5029d1:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
5029d6:	eb 03                	jmp    0x5029db
5029d8:	8b 7d fc             	mov    -0x4(%ebp),%edi
5029db:	6a 60                	push   $0x60
5029dd:	ff 75 10             	push   0x10(%ebp)
5029e0:	ff 75 0c             	push   0xc(%ebp)
5029e3:	ff 75 f8             	push   -0x8(%ebp)
5029e6:	53                   	push   %ebx
5029e7:	e8 64 ef 02 00       	call   0x531950
5029ec:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5029ef:	83 c4 14             	add    $0x14,%esp
5029f2:	39 4e 70             	cmp    %ecx,0x70(%esi)
5029f5:	7f 15                	jg     0x502a0c
5029f7:	ff 75 28             	push   0x28(%ebp)
5029fa:	6a 00                	push   $0x0
5029fc:	ff 75 f8             	push   -0x8(%ebp)
5029ff:	6a 20                	push   $0x20
502a01:	56                   	push   %esi
502a02:	e8 f9 3a 00 00       	call   0x506500
502a07:	83 c4 14             	add    $0x14,%esp
502a0a:	eb 31                	jmp    0x502a3d
502a0c:	8b 55 f8             	mov    -0x8(%ebp),%edx
502a0f:	8d 41 01             	lea    0x1(%ecx),%eax
502a12:	89 46 6c             	mov    %eax,0x6c(%esi)
502a15:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502a18:	8b 46 68             	mov    0x68(%esi),%eax
502a1b:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
502a1f:	8b 55 28             	mov    0x28(%ebp),%edx
502a22:	c7 04 88 20 00 00 00 	movl   $0x20,(%eax,%ecx,4)
502a29:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
502a30:	00
502a31:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
502a35:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
502a3c:	00
502a3d:	8b 4e 6c             	mov    0x6c(%esi),%ecx
502a40:	39 4e 70             	cmp    %ecx,0x70(%esi)
502a43:	7f 14                	jg     0x502a59
502a45:	6a 00                	push   $0x0
502a47:	ff 75 fc             	push   -0x4(%ebp)
502a4a:	6a 00                	push   $0x0
502a4c:	6a 0b                	push   $0xb
502a4e:	56                   	push   %esi
502a4f:	e8 ac 3a 00 00       	call   0x506500
502a54:	83 c4 14             	add    $0x14,%esp
502a57:	eb 2f                	jmp    0x502a88
502a59:	8d 41 01             	lea    0x1(%ecx),%eax
502a5c:	89 46 6c             	mov    %eax,0x6c(%esi)
502a5f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502a62:	8b 46 68             	mov    0x68(%esi),%eax
502a65:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
502a6c:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
502a73:	00
502a74:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
502a78:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
502a7f:	00
502a80:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
502a87:	00
502a88:	8b 56 6c             	mov    0x6c(%esi),%edx
502a8b:	8d 4a fe             	lea    -0x2(%edx),%ecx
502a8e:	85 c9                	test   %ecx,%ecx
502a90:	79 03                	jns    0x502a95
502a92:	8d 4a ff             	lea    -0x1(%edx),%ecx
502a95:	8b 06                	mov    (%esi),%eax
502a97:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
502a9b:	74 07                	je     0x502aa4
502a9d:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
502aa2:	eb 09                	jmp    0x502aad
502aa4:	8b 46 68             	mov    0x68(%esi),%eax
502aa7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502aaa:	8d 04 88             	lea    (%eax,%ecx,4),%eax
502aad:	8b 4d 08             	mov    0x8(%ebp),%ecx
502ab0:	89 50 08             	mov    %edx,0x8(%eax)
502ab3:	8b 56 6c             	mov    0x6c(%esi),%edx
502ab6:	85 c9                	test   %ecx,%ecx
502ab8:	79 03                	jns    0x502abd
502aba:	8d 4a ff             	lea    -0x1(%edx),%ecx
502abd:	8b 06                	mov    (%esi),%eax
502abf:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
502ac3:	74 0d                	je     0x502ad2
502ac5:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
502aca:	89 50 08             	mov    %edx,0x8(%eax)
502acd:	e9 3f 04 00 00       	jmp    0x502f11
502ad2:	8b 46 68             	mov    0x68(%esi),%eax
502ad5:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502ad8:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
502adc:	8d 04 88             	lea    (%eax,%ecx,4),%eax
502adf:	e9 2d 04 00 00       	jmp    0x502f11
502ae4:	8b 79 14             	mov    0x14(%ecx),%edi
502ae7:	89 7d ec             	mov    %edi,-0x14(%ebp)
502aea:	83 ff 01             	cmp    $0x1,%edi
502aed:	75 26                	jne    0x502b15
502aef:	8a 43 13             	mov    0x13(%ebx),%al
502af2:	84 c0                	test   %al,%al
502af4:	75 0b                	jne    0x502b01
502af6:	ff 43 2c             	incl   0x2c(%ebx)
502af9:	8b 43 2c             	mov    0x2c(%ebx),%eax
502afc:	89 45 28             	mov    %eax,0x28(%ebp)
502aff:	eb 3f                	jmp    0x502b40
502b01:	fe c8                	dec    %al
502b03:	88 43 13             	mov    %al,0x13(%ebx)
502b06:	0f b6 c0             	movzbl %al,%eax
502b09:	8b 84 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%eax
502b10:	89 45 28             	mov    %eax,0x28(%ebp)
502b13:	eb 2b                	jmp    0x502b40
502b15:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
502b18:	8b 53 20             	mov    0x20(%ebx),%edx
502b1b:	89 55 28             	mov    %edx,0x28(%ebp)
502b1e:	3b f9                	cmp    %ecx,%edi
502b20:	7f 0d                	jg     0x502b2f
502b22:	8d 04 3a             	lea    (%edx,%edi,1),%eax
502b25:	2b cf                	sub    %edi,%ecx
502b27:	89 43 20             	mov    %eax,0x20(%ebx)
502b2a:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
502b2d:	eb 0e                	jmp    0x502b3d
502b2f:	8b 43 2c             	mov    0x2c(%ebx),%eax
502b32:	8d 48 01             	lea    0x1(%eax),%ecx
502b35:	03 c7                	add    %edi,%eax
502b37:	89 4d 28             	mov    %ecx,0x28(%ebp)
502b3a:	89 43 2c             	mov    %eax,0x2c(%ebx)
502b3d:	8b 55 14             	mov    0x14(%ebp),%edx
502b40:	8a 43 13             	mov    0x13(%ebx),%al
502b43:	84 c0                	test   %al,%al
502b45:	75 08                	jne    0x502b4f
502b47:	ff 43 2c             	incl   0x2c(%ebx)
502b4a:	8b 43 2c             	mov    0x2c(%ebx),%eax
502b4d:	eb 0f                	jmp    0x502b5e
502b4f:	fe c8                	dec    %al
502b51:	88 43 13             	mov    %al,0x13(%ebx)
502b54:	0f b6 c0             	movzbl %al,%eax
502b57:	8b 84 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%eax
502b5e:	8b 4e 6c             	mov    0x6c(%esi),%ecx
502b61:	8b 52 2c             	mov    0x2c(%edx),%edx
502b64:	89 45 f4             	mov    %eax,-0xc(%ebp)
502b67:	39 4e 70             	cmp    %ecx,0x70(%esi)
502b6a:	7f 14                	jg     0x502b80
502b6c:	ff 75 0c             	push   0xc(%ebp)
502b6f:	52                   	push   %edx
502b70:	ff 75 f8             	push   -0x8(%ebp)
502b73:	6a 60                	push   $0x60
502b75:	56                   	push   %esi
502b76:	e8 85 39 00 00       	call   0x506500
502b7b:	83 c4 14             	add    $0x14,%esp
502b7e:	eb 2e                	jmp    0x502bae
502b80:	8d 41 01             	lea    0x1(%ecx),%eax
502b83:	89 46 6c             	mov    %eax,0x6c(%esi)
502b86:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502b89:	8b 46 68             	mov    0x68(%esi),%eax
502b8c:	c7 04 88 60 00 00 00 	movl   $0x60,(%eax,%ecx,4)
502b93:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
502b97:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
502b9e:	00
502b9f:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
502ba2:	8b 45 f8             	mov    -0x8(%ebp),%eax
502ba5:	89 41 04             	mov    %eax,0x4(%ecx)
502ba8:	8b 45 0c             	mov    0xc(%ebp),%eax
502bab:	89 41 0c             	mov    %eax,0xc(%ecx)
502bae:	ff 75 14             	push   0x14(%ebp)
502bb1:	8b 43 08             	mov    0x8(%ebx),%eax
502bb4:	53                   	push   %ebx
502bb5:	89 45 f0             	mov    %eax,-0x10(%ebp)
502bb8:	e8 43 d1 02 00       	call   0x52fd00
502bbd:	8b d0                	mov    %eax,%edx
502bbf:	83 c4 08             	add    $0x8,%esp
502bc2:	85 d2                	test   %edx,%edx
502bc4:	74 2e                	je     0x502bf4
502bc6:	8b 45 f0             	mov    -0x10(%ebp),%eax
502bc9:	8b 08                	mov    (%eax),%ecx
502bcb:	80 79 51 00          	cmpb   $0x0,0x51(%ecx)
502bcf:	74 0e                	je     0x502bdf
502bd1:	52                   	push   %edx
502bd2:	6a f7                	push   $0xfffffff7
502bd4:	51                   	push   %ecx
502bd5:	e8 d6 10 00 00       	call   0x503cb0
502bda:	83 c4 0c             	add    $0xc,%esp
502bdd:	eb 15                	jmp    0x502bf4
502bdf:	8b 40 6c             	mov    0x6c(%eax),%eax
502be2:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
502be5:	8b 45 f0             	mov    -0x10(%ebp),%eax
502be8:	8b 40 68             	mov    0x68(%eax),%eax
502beb:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
502bf0:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
502bf4:	85 ff                	test   %edi,%edi
502bf6:	7e 7f                	jle    0x502c77
502bf8:	8b 45 28             	mov    0x28(%ebp),%eax
502bfb:	33 db                	xor    %ebx,%ebx
502bfd:	89 45 f0             	mov    %eax,-0x10(%ebp)
502c00:	8b 45 1c             	mov    0x1c(%ebp),%eax
502c03:	0f b7 04 98          	movzwl (%eax,%ebx,4),%eax
502c07:	50                   	push   %eax
502c08:	8b 45 18             	mov    0x18(%ebp),%eax
502c0b:	ff 30                	push   (%eax)
502c0d:	e8 3e b2 03 00       	call   0x53de50
502c12:	8b 4d 20             	mov    0x20(%ebp),%ecx
502c15:	83 c4 08             	add    $0x8,%esp
502c18:	41                   	inc    %ecx
502c19:	98                   	cwtl
502c1a:	03 c1                	add    %ecx,%eax
502c1c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
502c1f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
502c22:	39 4e 70             	cmp    %ecx,0x70(%esi)
502c25:	7f 14                	jg     0x502c3b
502c27:	8b 55 f0             	mov    -0x10(%ebp),%edx
502c2a:	6a 00                	push   $0x0
502c2c:	52                   	push   %edx
502c2d:	50                   	push   %eax
502c2e:	6a 4d                	push   $0x4d
502c30:	56                   	push   %esi
502c31:	e8 ca 38 00 00       	call   0x506500
502c36:	83 c4 14             	add    $0x14,%esp
502c39:	eb 31                	jmp    0x502c6c
502c3b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
502c3e:	8d 41 01             	lea    0x1(%ecx),%eax
502c41:	89 46 6c             	mov    %eax,0x6c(%esi)
502c44:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
502c47:	8b 46 68             	mov    0x68(%esi),%eax
502c4a:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
502c4e:	8b 55 f0             	mov    -0x10(%ebp),%edx
502c51:	c7 04 88 4d 00 00 00 	movl   $0x4d,(%eax,%ecx,4)
502c58:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
502c5c:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
502c63:	00
502c64:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
502c6b:	00
502c6c:	ff 45 f0             	incl   -0x10(%ebp)
502c6f:	43                   	inc    %ebx
502c70:	3b df                	cmp    %edi,%ebx
502c72:	7c 8c                	jl     0x502c00