504c35:	83 c4 0c             	add    $0xc,%esp
504c38:	eb 09                	jmp    0x504c43
504c3a:	8b 49 40             	mov    0x40(%ecx),%ecx
504c3d:	8b 46 6c             	mov    0x6c(%esi),%eax
504c40:	89 04 91             	mov    %eax,(%ecx,%edx,4)
504c43:	8b 5d f4             	mov    -0xc(%ebp),%ebx
504c46:	8b 4d 18             	mov    0x18(%ebp),%ecx
504c49:	8b 45 10             	mov    0x10(%ebp),%eax
504c4c:	8b 50 08             	mov    0x8(%eax),%edx
504c4f:	89 55 f0             	mov    %edx,-0x10(%ebp)
504c52:	83 fb 09             	cmp    $0x9,%ebx
504c55:	74 6e                	je     0x504cc5
504c57:	83 fb 0d             	cmp    $0xd,%ebx
504c5a:	74 69                	je     0x504cc5
504c5c:	83 fb 0a             	cmp    $0xa,%ebx
504c5f:	74 64                	je     0x504cc5
504c61:	8a 47 13             	mov    0x13(%edi),%al
504c64:	84 c0                	test   %al,%al
504c66:	75 08                	jne    0x504c70
504c68:	ff 47 2c             	incl   0x2c(%edi)
504c6b:	8b 47 2c             	mov    0x2c(%edi),%eax
504c6e:	eb 0f                	jmp    0x504c7f
504c70:	fe c8                	dec    %al
504c72:	88 47 13             	mov    %al,0x13(%edi)
504c75:	0f b6 c0             	movzbl %al,%eax
504c78:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
504c7f:	89 45 fc             	mov    %eax,-0x4(%ebp)
504c82:	83 fb 0c             	cmp    $0xc,%ebx
504c85:	74 1a                	je     0x504ca1
504c87:	83 fb 0e             	cmp    $0xe,%ebx
504c8a:	74 15                	je     0x504ca1
504c8c:	8b 5d 14             	mov    0x14(%ebp),%ebx
504c8f:	53                   	push   %ebx
504c90:	57                   	push   %edi
504c91:	89 5d 14             	mov    %ebx,0x14(%ebp)
504c94:	e8 87 82 02 00       	call   0x52cf20
504c99:	8b 55 f0             	mov    -0x10(%ebp),%edx
504c9c:	83 c4 08             	add    $0x8,%esp
504c9f:	eb 34                	jmp    0x504cd5
504ca1:	8a 47 13             	mov    0x13(%edi),%al
504ca4:	84 c0                	test   %al,%al
504ca6:	75 0a                	jne    0x504cb2
504ca8:	ff 47 2c             	incl   0x2c(%edi)
504cab:	33 db                	xor    %ebx,%ebx
504cad:	8b 47 2c             	mov    0x2c(%edi),%eax
504cb0:	eb 20                	jmp    0x504cd2
504cb2:	fe c8                	dec    %al
504cb4:	33 db                	xor    %ebx,%ebx
504cb6:	88 47 13             	mov    %al,0x13(%edi)
504cb9:	0f b6 c0             	movzbl %al,%eax
504cbc:	8b 84 87 94 00 00 00 	mov    0x94(%edi,%eax,4),%eax
504cc3:	eb 0d                	jmp    0x504cd2
504cc5:	8b 41 08             	mov    0x8(%ecx),%eax
504cc8:	8b 5d 14             	mov    0x14(%ebp),%ebx
504ccb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
504cd2:	89 5d 14             	mov    %ebx,0x14(%ebp)
504cd5:	8b 4d 10             	mov    0x10(%ebp),%ecx
504cd8:	89 45 f8             	mov    %eax,-0x8(%ebp)
504cdb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
504cde:	8b 00                	mov    (%eax),%eax
504ce0:	2b 41 04             	sub    0x4(%ecx),%eax
504ce3:	f6 41 20 01          	testb  $0x1,0x20(%ecx)
504ce7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
504cea:	0f 84 59 01 00 00    	je     0x504e49
504cf0:	ff 47 2c             	incl   0x2c(%edi)
504cf3:	8b 47 2c             	mov    0x2c(%edi),%eax
504cf6:	89 45 e0             	mov    %eax,-0x20(%ebp)
504cf9:	8b 47 28             	mov    0x28(%edi),%eax
504cfc:	89 45 ec             	mov    %eax,-0x14(%ebp)
504cff:	40                   	inc    %eax
504d00:	89 47 28             	mov    %eax,0x28(%edi)
504d03:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
504d07:	74 0e                	je     0x504d17
504d09:	6a 11                	push   $0x11
504d0b:	56                   	push   %esi
504d0c:	e8 0f cd 03 00       	call   0x541a20
504d11:	83 c4 08             	add    $0x8,%esp
504d14:	89 45 d8             	mov    %eax,-0x28(%ebp)
504d17:	8b 55 d4             	mov    -0x2c(%ebp),%edx
504d1a:	8b 4e 6c             	mov    0x6c(%esi),%ecx
504d1d:	42                   	inc    %edx
504d1e:	03 d3                	add    %ebx,%edx
504d20:	39 4e 70             	cmp    %ecx,0x70(%esi)
504d23:	7f 14                	jg     0x504d39
504d25:	52                   	push   %edx
504d26:	ff 75 e0             	push   -0x20(%ebp)
504d29:	ff 75 ec             	push   -0x14(%ebp)
504d2c:	6a 72                	push   $0x72
504d2e:	56                   	push   %esi
504d2f:	e8 cc 17 00 00       	call   0x506500
504d34:	83 c4 14             	add    $0x14,%esp
504d37:	eb 2d                	jmp    0x504d66
504d39:	8b 5d ec             	mov    -0x14(%ebp),%ebx
504d3c:	8d 41 01             	lea    0x1(%ecx),%eax
504d3f:	89 46 6c             	mov    %eax,0x6c(%esi)
504d42:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
504d45:	8b 46 68             	mov    0x68(%esi),%eax
504d48:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
504d4c:	8b 5d e0             	mov    -0x20(%ebp),%ebx
504d4f:	c7 04 88 72 00 00 00 	movl   $0x72,(%eax,%ecx,4)
504d56:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
504d5a:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
504d5e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504d65:	00
504d66:	8b 4d d8             	mov    -0x28(%ebp),%ecx
504d69:	85 c9                	test   %ecx,%ecx
504d6b:	74 23                	je     0x504d90
504d6d:	8b 56 6c             	mov    0x6c(%esi),%edx
504d70:	79 03                	jns    0x504d75
504d72:	8d 4a ff             	lea    -0x1(%edx),%ecx
504d75:	8b 06                	mov    (%esi),%eax
504d77:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
504d7b:	74 07                	je     0x504d84
504d7d:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
504d82:	eb 09                	jmp    0x504d8d
504d84:	8b 46 68             	mov    0x68(%esi),%eax
504d87:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
504d8a:	8d 04 88             	lea    (%eax,%ecx,4),%eax
504d8d:	89 50 08             	mov    %edx,0x8(%eax)
504d90:	8b 5e 6c             	mov    0x6c(%esi),%ebx
504d93:	39 5e 70             	cmp    %ebx,0x70(%esi)
504d96:	7f 17                	jg     0x504daf
504d98:	6a 00                	push   $0x0
504d9a:	ff 75 e8             	push   -0x18(%ebp)
504d9d:	ff 75 f0             	push   -0x10(%ebp)
504da0:	6a 23                	push   $0x23
504da2:	56                   	push   %esi
504da3:	e8 58 17 00 00       	call   0x506500
504da8:	83 c4 14             	add    $0x14,%esp
504dab:	8b d8                	mov    %eax,%ebx
504dad:	eb 31                	jmp    0x504de0
504daf:	8b 55 f0             	mov    -0x10(%ebp),%edx
504db2:	8d 43 01             	lea    0x1(%ebx),%eax
504db5:	89 46 6c             	mov    %eax,0x6c(%esi)
504db8:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
504dbb:	8b 46 68             	mov    0x68(%esi),%eax
504dbe:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
504dc2:	8b 55 e8             	mov    -0x18(%ebp),%edx
504dc5:	c7 04 88 23 00 00 00 	movl   $0x23,(%eax,%ecx,4)
504dcc:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
504dd0:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
504dd7:	00
504dd8:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504ddf:	00
504de0:	8b 45 0c             	mov    0xc(%ebp),%eax
504de3:	ff 75 dc             	push   -0x24(%ebp)
504de6:	ff 70 0c             	push   0xc(%eax)
504de9:	56                   	push   %esi
504dea:	e8 e1 53 ff ff       	call   0x4fa1d0
504def:	8b 4e 6c             	mov    0x6c(%esi),%ecx
504df2:	83 c4 0c             	add    $0xc,%esp
504df5:	39 4e 70             	cmp    %ecx,0x70(%esi)
504df8:	7f 1b                	jg     0x504e15
504dfa:	ff 75 ec             	push   -0x14(%ebp)
504dfd:	ff 75 e0             	push   -0x20(%ebp)
504e00:	ff 75 f0             	push   -0x10(%ebp)
504e03:	6a 7d                	push   $0x7d
504e05:	56                   	push   %esi
504e06:	e8 f5 16 00 00       	call   0x506500
504e0b:	83 c4 14             	add    $0x14,%esp
504e0e:	33 c0                	xor    %eax,%eax
504e10:	e9 9f 00 00 00       	jmp    0x504eb4
504e15:	8b 55 f0             	mov    -0x10(%ebp),%edx
504e18:	8d 41 01             	lea    0x1(%ecx),%eax
504e1b:	89 46 6c             	mov    %eax,0x6c(%esi)
504e1e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
504e21:	8b 46 68             	mov    0x68(%esi),%eax
504e24:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
504e28:	8b 55 e0             	mov    -0x20(%ebp),%edx
504e2b:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
504e2f:	8b 55 ec             	mov    -0x14(%ebp),%edx
504e32:	c7 04 88 7d 00 00 00 	movl   $0x7d,(%eax,%ecx,4)
504e39:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
504e3d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504e44:	00
504e45:	33 c0                	xor    %eax,%eax
504e47:	eb 6b                	jmp    0x504eb4
504e49:	8b 5e 6c             	mov    0x6c(%esi),%ebx
504e4c:	39 5e 70             	cmp    %ebx,0x70(%esi)
504e4f:	7f 15                	jg     0x504e66
504e51:	6a 00                	push   $0x0
504e53:	ff 75 e8             	push   -0x18(%ebp)
504e56:	52                   	push   %edx
504e57:	6a 24                	push   $0x24
504e59:	56                   	push   %esi
504e5a:	e8 a1 16 00 00       	call   0x506500
504e5f:	83 c4 14             	add    $0x14,%esp
504e62:	8b d8                	mov    %eax,%ebx
504e64:	eb 31                	jmp    0x504e97
504e66:	8b 7d 08             	mov    0x8(%ebp),%edi
504e69:	8d 43 01             	lea    0x1(%ebx),%eax
504e6c:	89 46 6c             	mov    %eax,0x6c(%esi)
504e6f:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
504e72:	8b 46 68             	mov    0x68(%esi),%eax
504e75:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
504e79:	8b 55 e8             	mov    -0x18(%ebp),%edx
504e7c:	c7 04 88 24 00 00 00 	movl   $0x24,(%eax,%ecx,4)
504e83:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
504e87:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
504e8e:	00
504e8f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504e96:	00
504e97:	8b 45 0c             	mov    0xc(%ebp),%eax
504e9a:	ff 75 dc             	push   -0x24(%ebp)
504e9d:	ff 70 0c             	push   0xc(%eax)
504ea0:	56                   	push   %esi
504ea1:	e8 2a 53 ff ff       	call   0x4fa1d0
504ea6:	8b 45 f0             	mov    -0x10(%ebp),%eax
504ea9:	83 c4 0c             	add    $0xc,%esp
504eac:	89 45 ec             	mov    %eax,-0x14(%ebp)
504eaf:	b8 01 00 00 00       	mov    $0x1,%eax
504eb4:	03 45 d4             	add    -0x2c(%ebp),%eax
504eb7:	8d 4b 01             	lea    0x1(%ebx),%ecx
504eba:	8b 55 14             	mov    0x14(%ebp),%edx
504ebd:	89 4d e0             	mov    %ecx,-0x20(%ebp)
504ec0:	89 45 d8             	mov    %eax,-0x28(%ebp)
504ec3:	8d 58 ff             	lea    -0x1(%eax),%ebx
504ec6:	85 d2                	test   %edx,%edx
504ec8:	7e 22                	jle    0x504eec
504eca:	8b 7d d0             	mov    -0x30(%ebp),%edi
504ecd:	83 c7 10             	add    $0x10,%edi
504ed0:	0f b7 07             	movzwl (%edi),%eax
504ed3:	8d 4b 01             	lea    0x1(%ebx),%ecx
504ed6:	66 85 c0             	test   %ax,%ax
504ed9:	8d 7f 14             	lea    0x14(%edi),%edi
504edc:	0f 45 cb             	cmovne %ebx,%ecx
504edf:	8b d9                	mov    %ecx,%ebx
504ee1:	83 ea 01             	sub    $0x1,%edx
504ee4:	75 ea                	jne    0x504ed0
504ee6:	8b 7d 08             	mov    0x8(%ebp),%edi
504ee9:	8b 55 14             	mov    0x14(%ebp),%edx
504eec:	8d 4a ff             	lea    -0x1(%edx),%ecx
504eef:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
504ef2:	85 c9                	test   %ecx,%ecx
504ef4:	0f 88 8a 00 00 00    	js     0x504f84
504efa:	8b 45 f8             	mov    -0x8(%ebp),%eax
504efd:	8d 3c 89             	lea    (%ecx,%ecx,4),%edi
504f00:	03 c1                	add    %ecx,%eax
504f02:	8d 7f 04             	lea    0x4(%edi),%edi
504f05:	8b 4d d0             	mov    -0x30(%ebp),%ecx
504f08:	89 45 0c             	mov    %eax,0xc(%ebp)
504f0b:	8d 3c b9             	lea    (%ecx,%edi,4),%edi
504f0e:	66 90                	xchg   %ax,%ax
504f10:	0f b7 07             	movzwl (%edi),%eax
504f13:	66 85 c0             	test   %ax,%ax
504f16:	74 05                	je     0x504f1d
504f18:	8d 50 ff             	lea    -0x1(%eax),%edx
504f1b:	eb 03                	jmp    0x504f20
504f1d:	8b d3                	mov    %ebx,%edx
504f1f:	4b                   	dec    %ebx
504f20:	8b 4e 6c             	mov    0x6c(%esi),%ecx
504f23:	39 4e 70             	cmp    %ecx,0x70(%esi)
504f26:	7f 17                	jg     0x504f3f
504f28:	ff 75 0c             	push   0xc(%ebp)
504f2b:	52                   	push   %edx
504f2c:	ff 75 ec             	push   -0x14(%ebp)
504f2f:	6a 59                	push   $0x59
504f31:	56                   	push   %esi
504f32:	e8 c9 15 00 00       	call   0x506500
504f37:	8b 55 0c             	mov    0xc(%ebp),%edx
504f3a:	83 c4 14             	add    $0x14,%esp
504f3d:	eb 30                	jmp    0x504f6f
504f3f:	8d 41 01             	lea    0x1(%ecx),%eax
504f42:	89 46 6c             	mov    %eax,0x6c(%esi)
504f45:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
504f48:	8b 46 68             	mov    0x68(%esi),%eax
504f4b:	8b 75 ec             	mov    -0x14(%ebp),%esi
504f4e:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
504f52:	8b 55 0c             	mov    0xc(%ebp),%edx
504f55:	89 74 88 04          	mov    %esi,0x4(%eax,%ecx,4)
504f59:	8b 75 cc             	mov    -0x34(%ebp),%esi
504f5c:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
504f63:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
504f67:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504f6e:	00
504f6f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
504f72:	4a                   	dec    %edx
504f73:	49                   	dec    %ecx
504f74:	89 55 0c             	mov    %edx,0xc(%ebp)
504f77:	83 ef 14             	sub    $0x14,%edi
504f7a:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
504f7d:	85 c9                	test   %ecx,%ecx
504f7f:	79 8f                	jns    0x504f10
504f81:	8b 7d 08             	mov    0x8(%ebp),%edi
504f84:	8b 55 f4             	mov    -0xc(%ebp),%edx
504f87:	8d 42 f6             	lea    -0xa(%edx),%eax
504f8a:	83 f8 04             	cmp    $0x4,%eax
504f8d:	0f 87 f1 01 00 00    	ja     0x505184
504f93:	ff 24 85 b4 53 50 00 	jmp    *0x5053b4(,%eax,4)
504f9a:	8b 4e 6c             	mov    0x6c(%esi),%ecx
504f9d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
504fa0:	39 4e 70             	cmp    %ecx,0x70(%esi)
504fa3:	7f 15                	jg     0x504fba
504fa5:	8b 55 d8             	mov    -0x28(%ebp),%edx
504fa8:	53                   	push   %ebx
504fa9:	52                   	push   %edx
504faa:	ff 75 ec             	push   -0x14(%ebp)
504fad:	6a 59                	push   $0x59
504faf:	56                   	push   %esi
504fb0:	e8 4b 15 00 00       	call   0x506500
504fb5:	83 c4 14             	add    $0x14,%esp
504fb8:	eb 2d                	jmp    0x504fe7
504fba:	8b 55 ec             	mov    -0x14(%ebp),%edx
504fbd:	8d 41 01             	lea    0x1(%ecx),%eax
504fc0:	89 46 6c             	mov    %eax,0x6c(%esi)
504fc3:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
504fc6:	8b 46 68             	mov    0x68(%esi),%eax
504fc9:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
504fcd:	8b 55 d8             	mov    -0x28(%ebp),%edx
504fd0:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
504fd7:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
504fdb:	89 5c 88 0c          	mov    %ebx,0xc(%eax,%ecx,4)
504fdf:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
504fe6:	00
504fe7:	8b 4e 6c             	mov    0x6c(%esi),%ecx
504fea:	39 4e 70             	cmp    %ecx,0x70(%esi)
504fed:	7f 18                	jg     0x505007
504fef:	6a 00                	push   $0x0
504ff1:	ff 75 fc             	push   -0x4(%ebp)
504ff4:	ff 75 e4             	push   -0x1c(%ebp)
504ff7:	6a 78                	push   $0x78
504ff9:	56                   	push   %esi
504ffa:	e8 01 15 00 00       	call   0x506500
504fff:	8b 55 fc             	mov    -0x4(%ebp),%edx
505002:	83 c4 14             	add    $0x14,%esp
505005:	eb 31                	jmp    0x505038
505007:	8b 55 e4             	mov    -0x1c(%ebp),%edx
50500a:	8d 41 01             	lea    0x1(%ecx),%eax
50500d:	89 46 6c             	mov    %eax,0x6c(%esi)
505010:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
505013:	8b 46 68             	mov    0x68(%esi),%eax
505016:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
50501a:	8b 55 fc             	mov    -0x4(%ebp),%edx
50501d:	c7 04 88 78 00 00 00 	movl   $0x78,(%eax,%ecx,4)
505024:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
505028:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
50502f:	00
505030:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
505037:	00
505038:	8b 4e 6c             	mov    0x6c(%esi),%ecx
50503b:	39 4e 70             	cmp    %ecx,0x70(%esi)
50503e:	7f 12                	jg     0x505052
505040:	52                   	push   %edx
505041:	53                   	push   %ebx
505042:	ff 75 e4             	push   -0x1c(%ebp)
505045:	6a 79                	push   $0x79
505047:	56                   	push   %esi
505048:	e8 b3 14 00 00       	call   0x506500
50504d:	83 c4 14             	add    $0x14,%esp
505050:	eb 2d                	jmp    0x50507f