54e9be:	8b 45 0c             	mov    0xc(%ebp),%eax
54e9c1:	8b 4a 74             	mov    0x74(%edx),%ecx
54e9c4:	89 08                	mov    %ecx,(%eax)
54e9c6:	81 cb 80 00 00 00    	or     $0x80,%ebx
54e9cc:	8b 45 08             	mov    0x8(%ebp),%eax
54e9cf:	85 c0                	test   %eax,%eax
54e9d1:	74 0f                	je     0x54e9e2
54e9d3:	0f b6 52 78          	movzbl 0x78(%edx),%edx
54e9d7:	8b 4d 08             	mov    0x8(%ebp),%ecx
54e9da:	81 cb 80 00 00 00    	or     $0x80,%ebx
54e9e0:	89 11                	mov    %edx,(%ecx)
54e9e2:	8b c3                	mov    %ebx,%eax
54e9e4:	5b                   	pop    %ebx
54e9e5:	5d                   	pop    %ebp
54e9e6:	c2 08 00             	ret    $0x8
54e9e9:	90                   	nop
54e9ea:	90                   	nop
54e9eb:	90                   	nop
54e9ec:	55                   	push   %ebp
54e9ed:	8b ec                	mov    %esp,%ebp
54e9ef:	85 c0                	test   %eax,%eax
54e9f1:	74 23                	je     0x54ea16
54e9f3:	85 d2                	test   %edx,%edx
54e9f5:	74 1f                	je     0x54ea16
54e9f7:	f6 42 08 08          	testb  $0x8,0x8(%edx)
54e9fb:	74 19                	je     0x54ea16
54e9fd:	85 c9                	test   %ecx,%ecx
54e9ff:	74 15                	je     0x54ea16
54ea01:	8b 42 10             	mov    0x10(%edx),%eax
54ea04:	89 01                	mov    %eax,(%ecx)
54ea06:	b8 08 00 00 00       	mov    $0x8,%eax
54ea0b:	0f b7 52 14          	movzwl 0x14(%edx),%edx
54ea0f:	8b 4d 08             	mov    0x8(%ebp),%ecx
54ea12:	89 11                	mov    %edx,(%ecx)
54ea14:	eb 02                	jmp    0x54ea18
54ea16:	33 c0                	xor    %eax,%eax
54ea18:	5d                   	pop    %ebp
54ea19:	c2 04 00             	ret    $0x4
54ea1c:	85 c0                	test   %eax,%eax
54ea1e:	74 19                	je     0x54ea39
54ea20:	85 d2                	test   %edx,%edx
54ea22:	74 15                	je     0x54ea39
54ea24:	f6 42 08 02          	testb  $0x2,0x8(%edx)
54ea28:	74 0f                	je     0x54ea39
54ea2a:	85 c9                	test   %ecx,%ecx
54ea2c:	74 0b                	je     0x54ea39
54ea2e:	83 c2 44             	add    $0x44,%edx
54ea31:	b8 02 00 00 00       	mov    $0x2,%eax
54ea36:	89 11                	mov    %edx,(%ecx)
54ea38:	c3                   	ret
54ea39:	33 c0                	xor    %eax,%eax
54ea3b:	c3                   	ret
54ea3c:	55                   	push   %ebp
54ea3d:	8b ec                	mov    %esp,%ebp
54ea3f:	53                   	push   %ebx
54ea40:	85 c0                	test   %eax,%eax
54ea42:	8b 5d 08             	mov    0x8(%ebp),%ebx
54ea45:	74 22                	je     0x54ea69
54ea47:	85 d2                	test   %edx,%edx
54ea49:	74 1e                	je     0x54ea69
54ea4b:	8b 42 30             	mov    0x30(%edx),%eax
54ea4e:	85 c0                	test   %eax,%eax
54ea50:	7e 17                	jle    0x54ea69
54ea52:	85 c9                	test   %ecx,%ecx
54ea54:	74 05                	je     0x54ea5b
54ea56:	8b 42 38             	mov    0x38(%edx),%eax
54ea59:	89 01                	mov    %eax,(%ecx)
54ea5b:	85 db                	test   %ebx,%ebx
54ea5d:	74 05                	je     0x54ea64
54ea5f:	8b 4a 30             	mov    0x30(%edx),%ecx
54ea62:	89 0b                	mov    %ecx,(%ebx)
54ea64:	8b 42 30             	mov    0x30(%edx),%eax
54ea67:	eb 0a                	jmp    0x54ea73
54ea69:	85 db                	test   %ebx,%ebx
54ea6b:	74 04                	je     0x54ea71
54ea6d:	33 d2                	xor    %edx,%edx
54ea6f:	89 13                	mov    %edx,(%ebx)
54ea71:	33 c0                	xor    %eax,%eax
54ea73:	5b                   	pop    %ebx
54ea74:	5d                   	pop    %ebp
54ea75:	c2 04 00             	ret    $0x4
54ea78:	85 c0                	test   %eax,%eax
54ea7a:	74 19                	je     0x54ea95
54ea7c:	85 d2                	test   %edx,%edx
54ea7e:	74 15                	je     0x54ea95
54ea80:	f6 42 09 02          	testb  $0x2,0x9(%edx)
54ea84:	74 0f                	je     0x54ea95
54ea86:	85 c9                	test   %ecx,%ecx
54ea88:	74 0b                	je     0x54ea95
54ea8a:	83 c2 3c             	add    $0x3c,%edx
54ea8d:	b8 00 02 00 00       	mov    $0x200,%eax
54ea92:	89 11                	mov    %edx,(%ecx)
54ea94:	c3                   	ret
54ea95:	33 c0                	xor    %eax,%eax
54ea97:	c3                   	ret
54ea98:	55                   	push   %ebp
54ea99:	8b ec                	mov    %esp,%ebp
54ea9b:	51                   	push   %ecx
54ea9c:	53                   	push   %ebx
54ea9d:	56                   	push   %esi
54ea9e:	89 45 fc             	mov    %eax,-0x4(%ebp)
54eaa1:	8b 45 08             	mov    0x8(%ebp),%eax
54eaa4:	33 db                	xor    %ebx,%ebx
54eaa6:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
54eaaa:	74 4e                	je     0x54eafa
54eaac:	85 d2                	test   %edx,%edx
54eaae:	74 4a                	je     0x54eafa
54eab0:	f6 42 08 10          	testb  $0x10,0x8(%edx)
54eab4:	74 44                	je     0x54eafa
54eab6:	80 7a 19 03          	cmpb   $0x3,0x19(%edx)
54eaba:	75 17                	jne    0x54ead3
54eabc:	85 c9                	test   %ecx,%ecx
54eabe:	74 08                	je     0x54eac8
54eac0:	8b 72 4c             	mov    0x4c(%edx),%esi
54eac3:	83 cb 10             	or     $0x10,%ebx
54eac6:	89 31                	mov    %esi,(%ecx)
54eac8:	85 c0                	test   %eax,%eax
54eaca:	74 1b                	je     0x54eae7
54eacc:	8d 4a 50             	lea    0x50(%edx),%ecx
54eacf:	89 08                	mov    %ecx,(%eax)
54ead1:	eb 14                	jmp    0x54eae7
54ead3:	85 c0                	test   %eax,%eax
54ead5:	74 08                	je     0x54eadf
54ead7:	8d 72 50             	lea    0x50(%edx),%esi
54eada:	83 cb 10             	or     $0x10,%ebx
54eadd:	89 30                	mov    %esi,(%eax)
54eadf:	85 c9                	test   %ecx,%ecx
54eae1:	74 04                	je     0x54eae7
54eae3:	33 c0                	xor    %eax,%eax
54eae5:	89 01                	mov    %eax,(%ecx)
54eae7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54eaea:	85 c9                	test   %ecx,%ecx
54eaec:	74 0c                	je     0x54eafa
54eaee:	0f b7 52 16          	movzwl 0x16(%edx),%edx
54eaf2:	8b 45 0c             	mov    0xc(%ebp),%eax
54eaf5:	83 cb 10             	or     $0x10,%ebx
54eaf8:	89 10                	mov    %edx,(%eax)
54eafa:	8b c3                	mov    %ebx,%eax
54eafc:	5e                   	pop    %esi
54eafd:	5b                   	pop    %ebx
54eafe:	59                   	pop    %ecx
54eaff:	5d                   	pop    %ebp
54eb00:	c2 08 00             	ret    $0x8
54eb03:	90                   	nop
54eb04:	85 c0                	test   %eax,%eax
54eb06:	74 10                	je     0x54eb18
54eb08:	85 d2                	test   %edx,%edx
54eb0a:	74 0c                	je     0x54eb18
54eb0c:	85 c9                	test   %ecx,%ecx
54eb0e:	74 08                	je     0x54eb18
54eb10:	8b 82 bc 00 00 00    	mov    0xbc(%edx),%eax
54eb16:	89 01                	mov    %eax,(%ecx)
54eb18:	8b 82 c0 00 00 00    	mov    0xc0(%edx),%eax
54eb1e:	c3                   	ret
54eb1f:	90                   	nop
54eb20:	85 c0                	test   %eax,%eax
54eb22:	74 08                	je     0x54eb2c
54eb24:	8a 80 e4 01 00 00    	mov    0x1e4(%eax),%al
54eb2a:	eb 02                	jmp    0x54eb2e
54eb2c:	33 c0                	xor    %eax,%eax
54eb2e:	c3                   	ret
54eb2f:	90                   	nop
54eb30:	85 c0                	test   %eax,%eax
54eb32:	74 08                	je     0x54eb3c
54eb34:	8b 80 d4 01 00 00    	mov    0x1d4(%eax),%eax
54eb3a:	eb 02                	jmp    0x54eb3e
54eb3c:	33 c0                	xor    %eax,%eax
54eb3e:	c3                   	ret
54eb3f:	90                   	nop
54eb40:	85 c0                	test   %eax,%eax
54eb42:	74 05                	je     0x54eb49
54eb44:	8b 40 70             	mov    0x70(%eax),%eax
54eb47:	eb 02                	jmp    0x54eb4b
54eb49:	33 c0                	xor    %eax,%eax
54eb4b:	c3                   	ret
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