54eb4c:	85 c0                	test   %eax,%eax
54eb4e:	74 08                	je     0x54eb58
54eb50:	8b 80 fc 01 00 00    	mov    0x1fc(%eax),%eax
54eb56:	eb 02                	jmp    0x54eb5a
54eb58:	33 c0                	xor    %eax,%eax
54eb5a:	c3                   	ret
54eb5b:	90                   	nop
54eb5c:	33 d2                	xor    %edx,%edx
54eb5e:	a8 01                	test   $0x1,%al
54eb60:	74 06                	je     0x54eb68
54eb62:	81 ca fc 00 00 00    	or     $0xfc,%edx
54eb68:	8b c2                	mov    %edx,%eax
54eb6a:	c3                   	ret
54eb6b:	90                   	nop
54eb6c:	33 c9                	xor    %ecx,%ecx
54eb6e:	a8 01                	test   $0x1,%al
54eb70:	74 06                	je     0x54eb78
54eb72:	81 c9 fc 00 00 00    	or     $0xfc,%ecx
54eb78:	85 d2                	test   %edx,%edx
54eb7a:	74 06                	je     0x54eb82
54eb7c:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
54eb82:	8b c1                	mov    %ecx,%eax
54eb84:	c3                   	ret
54eb85:	90                   	nop
54eb86:	90                   	nop
54eb87:	90                   	nop
54eb88:	85 c0                	test   %eax,%eax
54eb8a:	74 08                	je     0x54eb94
54eb8c:	8a 80 f5 01 00 00    	mov    0x1f5(%eax),%al
54eb92:	eb 02                	jmp    0x54eb96
54eb94:	33 c0                	xor    %eax,%eax
54eb96:	c3                   	ret
54eb97:	90                   	nop
54eb98:	85 c0                	test   %eax,%eax
54eb9a:	74 08                	je     0x54eba4
54eb9c:	8b 80 f8 01 00 00    	mov    0x1f8(%eax),%eax
54eba2:	eb 02                	jmp    0x54eba6
54eba4:	33 c0                	xor    %eax,%eax
54eba6:	c3                   	ret
54eba7:	90                   	nop
54eba8:	53                   	push   %ebx
54eba9:	56                   	push   %esi
54ebaa:	8b da                	mov    %edx,%ebx
54ebac:	8b f0                	mov    %eax,%esi
54ebae:	83 fb 08             	cmp    $0x8,%ebx
54ebb1:	7e 0c                	jle    0x54ebbf
54ebb3:	ba 8c be 69 00       	mov    $0x69be8c,%edx
54ebb8:	8b c6                	mov    %esi,%eax
54ebba:	e8 01 c3 ff ff       	call   0x54aec0
54ebbf:	85 db                	test   %ebx,%ebx
54ebc1:	7d 04                	jge    0x54ebc7
54ebc3:	33 c9                	xor    %ecx,%ecx
54ebc5:	eb 02                	jmp    0x54ebc9
54ebc7:	8b cb                	mov    %ebx,%ecx
54ebc9:	88 8e ec 00 00 00    	mov    %cl,0xec(%esi)
54ebcf:	5e                   	pop    %esi
54ebd0:	5b                   	pop    %ebx
54ebd1:	c3                   	ret
54ebd2:	90                   	nop
54ebd3:	90                   	nop
54ebd4:	53                   	push   %ebx
54ebd5:	56                   	push   %esi
54ebd6:	83 c4 f8             	add    $0xfffffff8,%esp
54ebd9:	8b d9                	mov    %ecx,%ebx
54ebdb:	8b 0d 84 be 69 00    	mov    0x69be84,%ecx
54ebe1:	83 fb 08             	cmp    $0x8,%ebx
54ebe4:	89 0c 24             	mov    %ecx,(%esp)
54ebe7:	8b 0d 88 be 69 00    	mov    0x69be88,%ecx
54ebed:	89 4c 24 04          	mov    %ecx,0x4(%esp)
54ebf1:	76 07                	jbe    0x54ebfa
54ebf3:	bb 08 00 00 00       	mov    $0x8,%ebx
54ebf8:	eb 09                	jmp    0x54ec03
54ebfa:	83 fb 01             	cmp    $0x1,%ebx
54ebfd:	73 04                	jae    0x54ec03
54ebff:	33 c0                	xor    %eax,%eax
54ec01:	eb 2d                	jmp    0x54ec30
54ec03:	83 fa 07             	cmp    $0x7,%edx
54ec06:	76 04                	jbe    0x54ec0c
54ec08:	33 c0                	xor    %eax,%eax
54ec0a:	eb 24                	jmp    0x54ec30
54ec0c:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
54ec0f:	83 f9 08             	cmp    $0x8,%ecx
54ec12:	76 07                	jbe    0x54ec1b
54ec14:	bb 08 00 00 00       	mov    $0x8,%ebx
54ec19:	2b da                	sub    %edx,%ebx
54ec1b:	53                   	push   %ebx
54ec1c:	8d 4c 24 04          	lea    0x4(%esp),%ecx
54ec20:	8b f2                	mov    %edx,%esi
54ec22:	03 ce                	add    %esi,%ecx
54ec24:	51                   	push   %ecx
54ec25:	03 c6                	add    %esi,%eax
54ec27:	50                   	push   %eax
54ec28:	e8 0f 77 fd ff       	call   0x52633c
54ec2d:	83 c4 0c             	add    $0xc,%esp
54ec30:	59                   	pop    %ecx
54ec31:	5a                   	pop    %edx
54ec32:	5e                   	pop    %esi
54ec33:	5b                   	pop    %ebx
54ec34:	c3                   	ret
54ec35:	90                   	nop
54ec36:	90                   	nop
54ec37:	90                   	nop
54ec38:	53                   	push   %ebx
54ec39:	56                   	push   %esi
54ec3a:	8b f2                	mov    %edx,%esi
54ec3c:	8b d8                	mov    %eax,%ebx
54ec3e:	8b ce                	mov    %esi,%ecx
54ec40:	33 d2                	xor    %edx,%edx
54ec42:	8b c3                	mov    %ebx,%eax
54ec44:	e8 8b ff ff ff       	call   0x54ebd4
54ec49:	83 f8 01             	cmp    $0x1,%eax
54ec4c:	1b c0                	sbb    %eax,%eax
54ec4e:	f7 d8                	neg    %eax
54ec50:	5e                   	pop    %esi
54ec51:	5b                   	pop    %ebx
54ec52:	c3                   	ret
54ec53:	90                   	nop
54ec54:	53                   	push   %ebx
54ec55:	56                   	push   %esi
54ec56:	8b f2                	mov    %edx,%esi
54ec58:	57                   	push   %edi
54ec59:	0f af f1             	imul   %ecx,%esi
54ec5c:	8b f8                	mov    %eax,%edi
54ec5e:	55                   	push   %ebp
54ec5f:	8b d6                	mov    %esi,%edx
54ec61:	8b 6f 2c             	mov    0x2c(%edi),%ebp
54ec64:	81 4f 2c 00 00 10 00 	orl    $0x100000,0x2c(%edi)
54ec6b:	e8 f8 c0 ff ff       	call   0x54ad68
54ec70:	8b d8                	mov    %eax,%ebx
54ec72:	89 6f 2c             	mov    %ebp,0x2c(%edi)
54ec75:	85 db                	test   %ebx,%ebx
54ec77:	75 04                	jne    0x54ec7d
54ec79:	8b c3                	mov    %ebx,%eax
54ec7b:	eb 40                	jmp    0x54ecbd
54ec7d:	81 fe 00 80 00 00    	cmp    $0x8000,%esi
54ec83:	76 2a                	jbe    0x54ecaf
54ec85:	68 00 80 00 00       	push   $0x8000
54ec8a:	6a 00                	push   $0x0
54ec8c:	53                   	push   %ebx
54ec8d:	e8 92 76 fd ff       	call   0x526324
54ec92:	83 c4 0c             	add    $0xc,%esp
54ec95:	81 ee 00 80 00 00    	sub    $0x8000,%esi
54ec9b:	56                   	push   %esi
54ec9c:	6a 00                	push   $0x0
54ec9e:	8d 93 00 80 00 00    	lea    0x8000(%ebx),%edx
54eca4:	52                   	push   %edx
54eca5:	e8 7a 76 fd ff       	call   0x526324
54ecaa:	83 c4 0c             	add    $0xc,%esp
54ecad:	eb 0c                	jmp    0x54ecbb
54ecaf:	56                   	push   %esi
54ecb0:	6a 00                	push   $0x0
54ecb2:	53                   	push   %ebx
54ecb3:	e8 6c 76 fd ff       	call   0x526324
54ecb8:	83 c4 0c             	add    $0xc,%esp
54ecbb:	8b c3                	mov    %ebx,%eax
54ecbd:	5d                   	pop    %ebp
54ecbe:	5f                   	pop    %edi
54ecbf:	5e                   	pop    %esi
54ecc0:	5b                   	pop    %ebx
54ecc1:	c3                   	ret
54ecc2:	90                   	nop
54ecc3:	90                   	nop
54ecc4:	e8 13 c1 ff ff       	call   0x54addc
54ecc9:	c3                   	ret
54ecca:	90                   	nop
54eccb:	90                   	nop
54eccc:	53                   	push   %ebx
54eccd:	8b d8                	mov    %eax,%ebx
54eccf:	33 c9                	xor    %ecx,%ecx
54ecd1:	33 d2                	xor    %edx,%edx
54ecd3:	33 c0                	xor    %eax,%eax
54ecd5:	e8 06 db fd ff       	call   0x52c7e0
54ecda:	89 83 d0 00 00 00    	mov    %eax,0xd0(%ebx)
54ece0:	5b                   	pop    %ebx
54ece1:	c3                   	ret
54ece2:	90                   	nop
54ece3:	90                   	nop
54ece4:	53                   	push   %ebx
54ece5:	8b d8                	mov    %eax,%ebx
54ece7:	56                   	push   %esi
54ece8:	57                   	push   %edi
54ece9:	f6 83 dc 00 00 00 20 	testb  $0x20,0xdc(%ebx)
54ecf0:	8b f9                	mov    %ecx,%edi
54ecf2:	8b f2                	mov    %edx,%esi
54ecf4:	b8 01 00 00 00       	mov    $0x1,%eax
54ecf9:	74 15                	je     0x54ed10
54ecfb:	8b 53 2c             	mov    0x2c(%ebx),%edx
54ecfe:	81 e2 00 03 00 00    	and    $0x300,%edx
54ed04:	81 fa 00 03 00 00    	cmp    $0x300,%edx
54ed0a:	75 0c                	jne    0x54ed18
54ed0c:	33 c0                	xor    %eax,%eax
54ed0e:	eb 08                	jmp    0x54ed18
54ed10:	f6 43 2d 08          	testb  $0x8,0x2d(%ebx)
54ed14:	74 02                	je     0x54ed18
54ed16:	33 c0                	xor    %eax,%eax
54ed18:	85 c0                	test   %eax,%eax
54ed1a:	74 15                	je     0x54ed31
54ed1c:	8b cf                	mov    %edi,%ecx
54ed1e:	8b d6                	mov    %esi,%edx
54ed20:	8b 83 d0 00 00 00    	mov    0xd0(%ebx),%eax
54ed26:	e8 b5 da fd ff       	call   0x52c7e0
54ed2b:	89 83 d0 00 00 00    	mov    %eax,0xd0(%ebx)
54ed31:	5f                   	pop    %edi
54ed32:	5e                   	pop    %esi
54ed33:	5b                   	pop    %ebx
54ed34:	c3                   	ret
54ed35:	90                   	nop
54ed36:	90                   	nop
54ed37:	90                   	nop
54ed38:	53                   	push   %ebx
54ed39:	51                   	push   %ecx
54ed3a:	8b d8                	mov    %eax,%ebx
54ed3c:	85 db                	test   %ebx,%ebx
54ed3e:	75 05                	jne    0x54ed45
54ed40:	33 c0                	xor    %eax,%eax
54ed42:	5a                   	pop    %edx
54ed43:	5b                   	pop    %ebx
54ed44:	c3                   	ret
54ed45:	8b 8b 00 02 00 00    	mov    0x200(%ebx),%ecx
54ed4b:	8b 93 04 02 00 00    	mov    0x204(%ebx),%edx
54ed51:	b8 02 00 00 00       	mov    $0x2,%eax
54ed56:	e8 5d bf ff ff       	call   0x54acb8
54ed5b:	89 04 24             	mov    %eax,(%esp)
54ed5e:	8b 14 24             	mov    (%esp),%edx
54ed61:	85 d2                	test   %edx,%edx
54ed63:	74 0c                	je     0x54ed71
54ed65:	8b c4                	mov    %esp,%eax
54ed67:	ba 20 01 00 00       	mov    $0x120,%edx
54ed6c:	e8 4f 00 00 00       	call   0x54edc0
54ed71:	8b 04 24             	mov    (%esp),%eax
54ed74:	5a                   	pop    %edx
54ed75:	5b                   	pop    %ebx
54ed76:	c3                   	ret
54ed77:	90                   	nop
54ed78:	53                   	push   %ebx
54ed79:	56                   	push   %esi
54ed7a:	57                   	push   %edi
54ed7b:	8b f2                	mov    %edx,%esi
54ed7d:	8b f8                	mov    %eax,%edi
54ed7f:	33 db                	xor    %ebx,%ebx
54ed81:	85 f6                	test   %esi,%esi
54ed83:	74 02                	je     0x54ed87
54ed85:	8b 1e                	mov    (%esi),%ebx
54ed87:	85 db                	test   %ebx,%ebx
54ed89:	74 20                	je     0x54edab
54ed8b:	8b d3                	mov    %ebx,%edx
54ed8d:	8b c7                	mov    %edi,%eax
54ed8f:	e8 34 04 00 00       	call   0x54f1c8
54ed94:	8b 8f 00 02 00 00    	mov    0x200(%edi),%ecx
54ed9a:	8b 97 08 02 00 00    	mov    0x208(%edi),%edx
54eda0:	8b c3                	mov    %ebx,%eax
54eda2:	e8 8d bf ff ff       	call   0x54ad34
54eda7:	33 c9                	xor    %ecx,%ecx
54eda9:	89 0e                	mov    %ecx,(%esi)
54edab:	5f                   	pop    %edi
54edac:	5e                   	pop    %esi
54edad:	5b                   	pop    %ebx
54edae:	c3                   	ret
54edaf:	90                   	nop
54edb0:	51                   	push   %ecx
54edb1:	89 04 24             	mov    %eax,(%esp)
54edb4:	8b c4                	mov    %esp,%eax
54edb6:	33 d2                	xor    %edx,%edx
54edb8:	e8 03 00 00 00       	call   0x54edc0
54edbd:	5a                   	pop    %edx
54edbe:	c3                   	ret
54edbf:	90                   	nop
54edc0:	53                   	push   %ebx
54edc1:	8b d8                	mov    %eax,%ebx
54edc3:	8b 03                	mov    (%ebx),%eax
54edc5:	81 fa 20 01 00 00    	cmp    $0x120,%edx
54edcb:	73 11                	jae    0x54edde
54edcd:	e8 56 bf ff ff       	call   0x54ad28
54edd2:	b8 02 00 00 00       	mov    $0x2,%eax
54edd7:	e8 d0 be ff ff       	call   0x54acac
54eddc:	89 03                	mov    %eax,(%ebx)
54edde:	68 20 01 00 00       	push   $0x120
54ede3:	6a 00                	push   $0x0
54ede5:	50                   	push   %eax
54ede6:	e8 39 75 fd ff       	call   0x526324
54edeb:	83 c4 0c             	add    $0xc,%esp
54edee:	5b                   	pop    %ebx
54edef:	c3                   	ret
54edf0:	55                   	push   %ebp
54edf1:	8b ec                	mov    %esp,%ebp
54edf3:	53                   	push   %ebx
54edf4:	85 c0                	test   %eax,%eax
54edf6:	8b 5d 08             	mov    0x8(%ebp),%ebx
54edf9:	74 2a                	je     0x54ee25
54edfb:	85 d2                	test   %edx,%edx
54edfd:	74 26                	je     0x54ee25
54edff:	83 f9 01             	cmp    $0x1,%ecx
54ee02:	75 08                	jne    0x54ee0c
54ee04:	09 9a b8 00 00 00    	or     %ebx,0xb8(%edx)
54ee0a:	eb 19                	jmp    0x54ee25
54ee0c:	83 f9 02             	cmp    $0x2,%ecx
54ee0f:	75 0a                	jne    0x54ee1b
54ee11:	f7 d3                	not    %ebx
54ee13:	21 9a b8 00 00 00    	and    %ebx,0xb8(%edx)
54ee19:	eb 0a                	jmp    0x54ee25
54ee1b:	ba ae be 69 00       	mov    $0x69beae,%edx
54ee20:	e8 37 c1 ff ff       	call   0x54af5c
54ee25:	5b                   	pop    %ebx
54ee26:	5d                   	pop    %ebp
54ee27:	c2 04 00             	ret    $0x4
54ee2a:	90                   	nop
54ee2b:	90                   	nop
54ee2c:	55                   	push   %ebp
54ee2d:	8b ec                	mov    %esp,%ebp
54ee2f:	51                   	push   %ecx
54ee30:	53                   	push   %ebx
54ee31:	56                   	push   %esi
54ee32:	57                   	push   %edi
54ee33:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54ee36:	8b da                	mov    %edx,%ebx
54ee38:	8b f0                	mov    %eax,%esi
54ee3a:	85 f6                	test   %esi,%esi
54ee3c:	0f 84 7b 03 00 00    	je     0x54f1bd
54ee42:	85 db                	test   %ebx,%ebx
54ee44:	0f 84 73 03 00 00    	je     0x54f1bd
54ee4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ee4d:	8b 93 b8 00 00 00    	mov    0xb8(%ebx),%edx
54ee53:	23 c2                	and    %edx,%eax
54ee55:	f6 c4 40             	test   $0x40,%ah
54ee58:	74 66                	je     0x54eec0
54ee5a:	8b 4d 08             	mov    0x8(%ebp),%ecx
54ee5d:	41                   	inc    %ecx
54ee5e:	74 31                	je     0x54ee91
54ee60:	8b 43 38             	mov    0x38(%ebx),%eax
54ee63:	85 c0                	test   %eax,%eax
54ee65:	74 59                	je     0x54eec0
54ee67:	8b 55 08             	mov    0x8(%ebp),%edx
54ee6a:	c1 e2 04             	shl    $0x4,%edx
54ee6d:	8b 4c 10 04          	mov    0x4(%eax,%edx,1),%ecx
54ee71:	85 c9                	test   %ecx,%ecx
54ee73:	74 4b                	je     0x54eec0
54ee75:	8b 7d 08             	mov    0x8(%ebp),%edi
54ee78:	c1 e7 04             	shl    $0x4,%edi
54ee7b:	8b 54 38 04          	mov    0x4(%eax,%edi,1),%edx
54ee7f:	8b c6                	mov    %esi,%eax
54ee81:	e8 56 bf ff ff       	call   0x54addc
54ee86:	8b 4b 38             	mov    0x38(%ebx),%ecx
54ee89:	33 c0                	xor    %eax,%eax
54ee8b:	89 44 39 04          	mov    %eax,0x4(%ecx,%edi,1)
54ee8f:	eb 2f                	jmp    0x54eec0
54ee91:	33 ff                	xor    %edi,%edi
54ee93:	eb 10                	jmp    0x54eea5
54ee95:	57                   	push   %edi
54ee96:	b9 00 40 00 00       	mov    $0x4000,%ecx
54ee9b:	8b d3                	mov    %ebx,%edx