479bdc:	5e                   	pop    %esi
479bdd:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479be4:	5b                   	pop    %ebx
479be5:	5d                   	pop    %ebp
479be6:	c2 0c 00             	ret    $0xc
479be9:	8b 45 08             	mov    0x8(%ebp),%eax
479bec:	8b 0e                	mov    (%esi),%ecx
479bee:	5f                   	pop    %edi
479bef:	89 70 04             	mov    %esi,0x4(%eax)
479bf2:	5e                   	pop    %esi
479bf3:	89 08                	mov    %ecx,(%eax)
479bf5:	5b                   	pop    %ebx
479bf6:	5d                   	pop    %ebp
479bf7:	c2 0c 00             	ret    $0xc
479bfa:	cc                   	int3
479bfb:	cc                   	int3
479bfc:	cc                   	int3
479bfd:	cc                   	int3
479bfe:	cc                   	int3
479bff:	cc                   	int3
479c00:	55                   	push   %ebp
479c01:	8b ec                	mov    %esp,%ebp
479c03:	8b 51 18             	mov    0x18(%ecx),%edx
479c06:	23 55 10             	and    0x10(%ebp),%edx
479c09:	8b 41 0c             	mov    0xc(%ecx),%eax
479c0c:	8b 49 04             	mov    0x4(%ecx),%ecx
479c0f:	53                   	push   %ebx
479c10:	8d 1c d0             	lea    (%eax,%edx,8),%ebx
479c13:	56                   	push   %esi
479c14:	8b 73 04             	mov    0x4(%ebx),%esi
479c17:	3b f1                	cmp    %ecx,%esi
479c19:	75 12                	jne    0x479c2d
479c1b:	8b 45 08             	mov    0x8(%ebp),%eax
479c1e:	5e                   	pop    %esi
479c1f:	5b                   	pop    %ebx
479c20:	89 08                	mov    %ecx,(%eax)
479c22:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479c29:	5d                   	pop    %ebp
479c2a:	c2 0c 00             	ret    $0xc
479c2d:	8b 1b                	mov    (%ebx),%ebx
479c2f:	57                   	push   %edi
479c30:	ff 76 0c             	push   0xc(%esi)
479c33:	8b 7d 0c             	mov    0xc(%ebp),%edi
479c36:	ff 76 08             	push   0x8(%esi)
479c39:	ff 77 04             	push   0x4(%edi)
479c3c:	ff 37                	push   (%edi)
479c3e:	e8 4d 46 00 00       	call   0x47e290
479c43:	83 c4 10             	add    $0x10,%esp
479c46:	84 c0                	test   %al,%al
479c48:	75 24                	jne    0x479c6e
479c4a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
479c50:	3b f3                	cmp    %ebx,%esi
479c52:	74 2b                	je     0x479c7f
479c54:	8b 76 04             	mov    0x4(%esi),%esi
479c57:	ff 76 0c             	push   0xc(%esi)
479c5a:	ff 76 08             	push   0x8(%esi)
479c5d:	ff 77 04             	push   0x4(%edi)
479c60:	ff 37                	push   (%edi)
479c62:	e8 29 46 00 00       	call   0x47e290
479c67:	83 c4 10             	add    $0x10,%esp
479c6a:	84 c0                	test   %al,%al
479c6c:	74 e2                	je     0x479c50
479c6e:	8b 45 08             	mov    0x8(%ebp),%eax
479c71:	8b 0e                	mov    (%esi),%ecx
479c73:	5f                   	pop    %edi
479c74:	89 70 04             	mov    %esi,0x4(%eax)
479c77:	5e                   	pop    %esi
479c78:	89 08                	mov    %ecx,(%eax)
479c7a:	5b                   	pop    %ebx
479c7b:	5d                   	pop    %ebp
479c7c:	c2 0c 00             	ret    $0xc
479c7f:	8b 45 08             	mov    0x8(%ebp),%eax
479c82:	5f                   	pop    %edi
479c83:	89 30                	mov    %esi,(%eax)
479c85:	5e                   	pop    %esi
479c86:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
479c8d:	5b                   	pop    %ebx
479c8e:	5d                   	pop    %ebp
479c8f:	c2 0c 00             	ret    $0xc
479c92:	cc                   	int3
479c93:	cc                   	int3
479c94:	cc                   	int3
479c95:	cc                   	int3
479c96:	cc                   	int3
479c97:	cc                   	int3
479c98:	cc                   	int3
479c99:	cc                   	int3
479c9a:	cc                   	int3
479c9b:	cc                   	int3
479c9c:	cc                   	int3
479c9d:	cc                   	int3
479c9e:	cc                   	int3
479c9f:	cc                   	int3
479ca0:	55                   	push   %ebp
479ca1:	8b ec                	mov    %esp,%ebp
479ca3:	8b 09                	mov    (%ecx),%ecx
479ca5:	8b 55 08             	mov    0x8(%ebp),%edx
479ca8:	8b 41 04             	mov    0x4(%ecx),%eax
479cab:	89 02                	mov    %eax,(%edx)
479cad:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
479cb4:	89 4a 08             	mov    %ecx,0x8(%edx)
479cb7:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
479cbb:	75 28                	jne    0x479ce5
479cbd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479cc0:	56                   	push   %esi
479cc1:	8b 31                	mov    (%ecx),%esi
479cc3:	89 02                	mov    %eax,(%edx)
479cc5:	39 70 10             	cmp    %esi,0x10(%eax)
479cc8:	73 07                	jae    0x479cd1
479cca:	8b 40 08             	mov    0x8(%eax),%eax
479ccd:	33 c9                	xor    %ecx,%ecx
479ccf:	eb 0a                	jmp    0x479cdb
479cd1:	89 42 08             	mov    %eax,0x8(%edx)
479cd4:	b9 01 00 00 00       	mov    $0x1,%ecx
479cd9:	8b 00                	mov    (%eax),%eax
479cdb:	89 4a 04             	mov    %ecx,0x4(%edx)
479cde:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
479ce2:	74 df                	je     0x479cc3
479ce4:	5e                   	pop    %esi
479ce5:	8b c2                	mov    %edx,%eax
479ce7:	5d                   	pop    %ebp
479ce8:	c2 08 00             	ret    $0x8
479ceb:	cc                   	int3
479cec:	cc                   	int3
479ced:	cc                   	int3
479cee:	cc                   	int3
479cef:	cc                   	int3
479cf0:	55                   	push   %ebp
479cf1:	8b ec                	mov    %esp,%ebp
479cf3:	8b 09                	mov    (%ecx),%ecx
479cf5:	8b 55 08             	mov    0x8(%ebp),%edx
479cf8:	8b 41 04             	mov    0x4(%ecx),%eax
479cfb:	89 02                	mov    %eax,(%edx)
479cfd:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
479d04:	89 4a 08             	mov    %ecx,0x8(%edx)
479d07:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
479d0b:	75 34                	jne    0x479d41
479d0d:	56                   	push   %esi
479d0e:	57                   	push   %edi
479d0f:	8b 7d 0c             	mov    0xc(%ebp),%edi
479d12:	8b 37                	mov    (%edi),%esi
479d14:	89 02                	mov    %eax,(%edx)
479d16:	39 70 10             	cmp    %esi,0x10(%eax)
479d19:	72 16                	jb     0x479d31
479d1b:	77 08                	ja     0x479d25
479d1d:	8b 48 14             	mov    0x14(%eax),%ecx
479d20:	3b 4f 04             	cmp    0x4(%edi),%ecx
479d23:	7c 0c                	jl     0x479d31
479d25:	89 42 08             	mov    %eax,0x8(%edx)
479d28:	b9 01 00 00 00       	mov    $0x1,%ecx
479d2d:	8b 00                	mov    (%eax),%eax
479d2f:	eb 05                	jmp    0x479d36
479d31:	8b 40 08             	mov    0x8(%eax),%eax
479d34:	33 c9                	xor    %ecx,%ecx
479d36:	89 4a 04             	mov    %ecx,0x4(%edx)
479d39:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
479d3d:	74 d5                	je     0x479d14
479d3f:	5f                   	pop    %edi
479d40:	5e                   	pop    %esi
479d41:	8b c2                	mov    %edx,%eax
479d43:	5d                   	pop    %ebp
479d44:	c2 08 00             	ret    $0x8
479d47:	cc                   	int3
479d48:	cc                   	int3
479d49:	cc                   	int3
479d4a:	cc                   	int3
479d4b:	cc                   	int3
479d4c:	cc                   	int3
479d4d:	cc                   	int3
479d4e:	cc                   	int3
479d4f:	cc                   	int3
479d50:	55                   	push   %ebp
479d51:	8b ec                	mov    %esp,%ebp
479d53:	8b 01                	mov    (%ecx),%eax
479d55:	56                   	push   %esi
479d56:	57                   	push   %edi
479d57:	8b 7d 08             	mov    0x8(%ebp),%edi
479d5a:	8b 70 04             	mov    0x4(%eax),%esi
479d5d:	89 37                	mov    %esi,(%edi)
479d5f:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
479d63:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
479d6a:	89 47 08             	mov    %eax,0x8(%edi)
479d6d:	75 5a                	jne    0x479dc9
479d6f:	53                   	push   %ebx
479d70:	8b 5d 0c             	mov    0xc(%ebp),%ebx
479d73:	8b 4b 14             	mov    0x14(%ebx),%ecx
479d76:	8b 43 10             	mov    0x10(%ebx),%eax
479d79:	89 4d 0c             	mov    %ecx,0xc(%ebp)
479d7c:	89 45 08             	mov    %eax,0x8(%ebp)
479d7f:	90                   	nop
479d80:	89 37                	mov    %esi,(%edi)
479d82:	8b d3                	mov    %ebx,%edx
479d84:	83 f9 10             	cmp    $0x10,%ecx
479d87:	72 02                	jb     0x479d8b
479d89:	8b 13                	mov    (%ebx),%edx
479d8b:	83 7e 24 10          	cmpl   $0x10,0x24(%esi)
479d8f:	8d 4e 10             	lea    0x10(%esi),%ecx
479d92:	72 03                	jb     0x479d97
479d94:	8b 4e 10             	mov    0x10(%esi),%ecx
479d97:	ff 75 08             	push   0x8(%ebp)
479d9a:	52                   	push   %edx
479d9b:	ff 76 20             	push   0x20(%esi)
479d9e:	51                   	push   %ecx
479d9f:	e8 6c 47 ff ff       	call   0x46e510
479da4:	83 c4 10             	add    $0x10,%esp
479da7:	85 c0                	test   %eax,%eax
479da9:	79 07                	jns    0x479db2
479dab:	8b 76 08             	mov    0x8(%esi),%esi
479dae:	33 c0                	xor    %eax,%eax
479db0:	eb 0a                	jmp    0x479dbc
479db2:	89 77 08             	mov    %esi,0x8(%edi)
479db5:	b8 01 00 00 00       	mov    $0x1,%eax
479dba:	8b 36                	mov    (%esi),%esi
479dbc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479dbf:	89 47 04             	mov    %eax,0x4(%edi)
479dc2:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
479dc6:	74 b8                	je     0x479d80
479dc8:	5b                   	pop    %ebx
479dc9:	8b c7                	mov    %edi,%eax
479dcb:	5f                   	pop    %edi
479dcc:	5e                   	pop    %esi
479dcd:	5d                   	pop    %ebp
479dce:	c2 08 00             	ret    $0x8
479dd1:	cc                   	int3
479dd2:	cc                   	int3
479dd3:	cc                   	int3
479dd4:	cc                   	int3
479dd5:	cc                   	int3
479dd6:	cc                   	int3
479dd7:	cc                   	int3
479dd8:	cc                   	int3
479dd9:	cc                   	int3
479dda:	cc                   	int3
479ddb:	cc                   	int3
479ddc:	cc                   	int3
479ddd:	cc                   	int3
479dde:	cc                   	int3
479ddf:	cc                   	int3
479de0:	55                   	push   %ebp
479de1:	8b ec                	mov    %esp,%ebp
479de3:	51                   	push   %ecx
479de4:	8b 01                	mov    (%ecx),%eax
479de6:	8b 4d 08             	mov    0x8(%ebp),%ecx
479de9:	57                   	push   %edi
479dea:	8b 78 04             	mov    0x4(%eax),%edi
479ded:	89 39                	mov    %edi,(%ecx)
479def:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
479df6:	89 41 08             	mov    %eax,0x8(%ecx)
479df9:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
479dfd:	75 63                	jne    0x479e62
479dff:	8b 45 0c             	mov    0xc(%ebp),%eax
479e02:	53                   	push   %ebx
479e03:	56                   	push   %esi
479e04:	8b 30                	mov    (%eax),%esi
479e06:	8b 50 04             	mov    0x4(%eax),%edx
479e09:	89 75 fc             	mov    %esi,-0x4(%ebp)
479e0c:	89 55 0c             	mov    %edx,0xc(%ebp)
479e0f:	90                   	nop
479e10:	8b 5f 14             	mov    0x14(%edi),%ebx
479e13:	8b c6                	mov    %esi,%eax
479e15:	89 39                	mov    %edi,(%ecx)
479e17:	8b 4f 10             	mov    0x10(%edi),%ecx
479e1a:	3b cb                	cmp    %ebx,%ecx
479e1c:	74 1b                	je     0x479e39
479e1e:	66 90                	xchg   %ax,%ax
479e20:	3b c2                	cmp    %edx,%eax
479e22:	74 23                	je     0x479e47
479e24:	8b 11                	mov    (%ecx),%edx
479e26:	3b 10                	cmp    (%eax),%edx
479e28:	8b 55 0c             	mov    0xc(%ebp),%edx
479e2b:	7c 10                	jl     0x479e3d
479e2d:	7f 18                	jg     0x479e47
479e2f:	83 c1 04             	add    $0x4,%ecx
479e32:	83 c0 04             	add    $0x4,%eax
479e35:	3b cb                	cmp    %ebx,%ecx
479e37:	75 e7                	jne    0x479e20
479e39:	3b c2                	cmp    %edx,%eax
479e3b:	74 0a                	je     0x479e47
479e3d:	8b 7f 08             	mov    0x8(%edi),%edi
479e40:	33 c0                	xor    %eax,%eax
479e42:	8b 4d 08             	mov    0x8(%ebp),%ecx
479e45:	eb 0d                	jmp    0x479e54
479e47:	8b 4d 08             	mov    0x8(%ebp),%ecx
479e4a:	b8 01 00 00 00       	mov    $0x1,%eax
479e4f:	89 79 08             	mov    %edi,0x8(%ecx)
479e52:	8b 3f                	mov    (%edi),%edi
479e54:	8b 75 fc             	mov    -0x4(%ebp),%esi
479e57:	89 41 04             	mov    %eax,0x4(%ecx)
479e5a:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
479e5e:	74 b0                	je     0x479e10
479e60:	5e                   	pop    %esi
479e61:	5b                   	pop    %ebx
479e62:	8b c1                	mov    %ecx,%eax
479e64:	5f                   	pop    %edi
479e65:	8b e5                	mov    %ebp,%esp
479e67:	5d                   	pop    %ebp
479e68:	c2 08 00             	ret    $0x8
479e6b:	cc                   	int3
479e6c:	cc                   	int3
479e6d:	cc                   	int3
479e6e:	cc                   	int3
479e6f:	cc                   	int3
479e70:	55                   	push   %ebp
479e71:	8b ec                	mov    %esp,%ebp
479e73:	56                   	push   %esi
479e74:	8b 75 0c             	mov    0xc(%ebp),%esi
479e77:	8b 46 04             	mov    0x4(%esi),%eax
479e7a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
479e80:	8b 36                	mov    (%esi),%esi
479e82:	85 f6                	test   %esi,%esi
479e84:	74 57                	je     0x479edd
479e86:	57                   	push   %edi
479e87:	8b 4e 1c             	mov    0x1c(%esi),%ecx
479e8a:	8b 3e                	mov    (%esi),%edi
479e8c:	83 f9 10             	cmp    $0x10,%ecx
479e8f:	72 28                	jb     0x479eb9
479e91:	8b 46 08             	mov    0x8(%esi),%eax
479e94:	41                   	inc    %ecx
479e95:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
479e9b:	72 12                	jb     0x479eaf
479e9d:	8b 50 fc             	mov    -0x4(%eax),%edx
479ea0:	83 c1 23             	add    $0x23,%ecx
479ea3:	2b c2                	sub    %edx,%eax
479ea5:	83 c0 fc             	add    $0xfffffffc,%eax
479ea8:	83 f8 1f             	cmp    $0x1f,%eax
479eab:	77 33                	ja     0x479ee0
479ead:	8b c2                	mov    %edx,%eax
479eaf:	51                   	push   %ecx
479eb0:	50                   	push   %eax
479eb1:	e8 9f 73 15 00       	call   0x5d1255
479eb6:	83 c4 08             	add    $0x8,%esp
479eb9:	6a 24                	push   $0x24
479ebb:	56                   	push   %esi
479ebc:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
479ec3:	c7 46 1c 0f 00 00 00 	movl   $0xf,0x1c(%esi)
479eca:	c6 46 08 00          	movb   $0x0,0x8(%esi)
479ece:	e8 82 73 15 00       	call   0x5d1255
479ed3:	83 c4 08             	add    $0x8,%esp
479ed6:	8b f7                	mov    %edi,%esi
479ed8:	85 ff                	test   %edi,%edi
479eda:	75 ab                	jne    0x479e87
479edc:	5f                   	pop    %edi
479edd:	5e                   	pop    %esi
479ede:	5d                   	pop    %ebp
479edf:	c3                   	ret
479ee0:	e8 0b c3 15 00       	call   0x5d61f0
479ee5:	cc                   	int3
479ee6:	cc                   	int3
479ee7:	cc                   	int3
479ee8:	cc                   	int3