54eee5:	85 c9                	test   %ecx,%ecx
54eee7:	75 14                	jne    0x54eefd
54eee9:	83 fe 05             	cmp    $0x5,%esi
54eeec:	b8 08 05 00 00       	mov    $0x508,%eax
54eef1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
54eef6:	0f 44 c1             	cmove  %ecx,%eax
54eef9:	8b f0                	mov    %eax,%esi
54eefb:	eb 33                	jmp    0x54ef30
54eefd:	8b 5d f0             	mov    -0x10(%ebp),%ebx
54ef00:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54ef04:	75 3e                	jne    0x54ef44
54ef06:	8b 4f 04             	mov    0x4(%edi),%ecx
54ef09:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ef0c:	6a 06                	push   $0x6
54ef0e:	83 c0 03             	add    $0x3,%eax
54ef11:	8b 11                	mov    (%ecx),%edx
54ef13:	6a 01                	push   $0x1
54ef15:	50                   	push   %eax
54ef16:	51                   	push   %ecx
54ef17:	8b 42 38             	mov    0x38(%edx),%eax
54ef1a:	ff d0                	call   *%eax
54ef1c:	8b f0                	mov    %eax,%esi
54ef1e:	83 c4 10             	add    $0x10,%esp
54ef21:	85 f6                	test   %esi,%esi
54ef23:	74 1f                	je     0x54ef44
54ef25:	83 fe 05             	cmp    $0x5,%esi
54ef28:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
54ef2d:	0f 44 f0             	cmove  %eax,%esi
54ef30:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54ef33:	83 fe ff             	cmp    $0xffffffff,%esi
54ef36:	0f 85 99 00 00 00    	jne    0x54efd5
54ef3c:	8b 55 f8             	mov    -0x8(%ebp),%edx
54ef3f:	e9 6d fd ff ff       	jmp    0x54ecb1
54ef44:	8b 75 ec             	mov    -0x14(%ebp),%esi
54ef47:	8b 06                	mov    (%esi),%eax
54ef49:	40                   	inc    %eax
54ef4a:	80 7f 2b 02          	cmpb   $0x2,0x2b(%edi)
54ef4e:	89 47 64             	mov    %eax,0x64(%edi)
54ef51:	74 0e                	je     0x54ef61
54ef53:	8b 47 04             	mov    0x4(%edi),%eax
54ef56:	50                   	push   %eax
54ef57:	8b 08                	mov    (%eax),%ecx
54ef59:	8b 41 3c             	mov    0x3c(%ecx),%eax
54ef5c:	ff d0                	call   *%eax
54ef5e:	83 c4 04             	add    $0x4,%esp
54ef61:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ef64:	39 5c 86 04          	cmp    %ebx,0x4(%esi,%eax,4)
54ef68:	75 31                	jne    0x54ef9b
54ef6a:	8b 47 20             	mov    0x20(%edi),%eax
54ef6d:	8d 57 34             	lea    0x34(%edi),%edx
54ef70:	be 2c 00 00 00       	mov    $0x2c,%esi
54ef75:	8b 08                	mov    (%eax),%ecx
54ef77:	8b 01                	mov    (%ecx),%eax
54ef79:	3b 02                	cmp    (%edx),%eax
54ef7b:	75 1b                	jne    0x54ef98
54ef7d:	83 c1 04             	add    $0x4,%ecx
54ef80:	83 c2 04             	add    $0x4,%edx
54ef83:	83 ee 04             	sub    $0x4,%esi
54ef86:	73 ef                	jae    0x54ef77
54ef88:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ef8b:	66 89 47 28          	mov    %ax,0x28(%edi)
54ef8f:	33 c0                	xor    %eax,%eax
54ef91:	5f                   	pop    %edi
54ef92:	5e                   	pop    %esi
54ef93:	5b                   	pop    %ebx
54ef94:	8b e5                	mov    %ebp,%esp
54ef96:	5d                   	pop    %ebp
54ef97:	c3                   	ret
54ef98:	8b 45 fc             	mov    -0x4(%ebp),%eax
54ef9b:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54ef9f:	8b 55 f8             	mov    -0x8(%ebp),%edx
54efa2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54efa5:	0f 85 06 fd ff ff    	jne    0x54ecb1
54efab:	8b 4f 04             	mov    0x4(%edi),%ecx
54efae:	83 c0 03             	add    $0x3,%eax
54efb1:	6a 05                	push   $0x5
54efb3:	6a 01                	push   $0x1
54efb5:	50                   	push   %eax
54efb6:	8b 11                	mov    (%ecx),%edx
54efb8:	51                   	push   %ecx
54efb9:	8b 42 38             	mov    0x38(%edx),%eax
54efbc:	ff d0                	call   *%eax
54efbe:	8b 55 f8             	mov    -0x8(%ebp),%edx
54efc1:	83 c4 10             	add    $0x10,%esp
54efc4:	e9 e8 fc ff ff       	jmp    0x54ecb1
54efc9:	5f                   	pop    %edi
54efca:	5e                   	pop    %esi
54efcb:	b8 0f 00 00 00       	mov    $0xf,%eax
54efd0:	5b                   	pop    %ebx
54efd1:	8b e5                	mov    %ebp,%esp
54efd3:	5d                   	pop    %ebp
54efd4:	c3                   	ret
54efd5:	5f                   	pop    %edi
54efd6:	8b c6                	mov    %esi,%eax
54efd8:	5e                   	pop    %esi
54efd9:	5b                   	pop    %ebx
54efda:	8b e5                	mov    %ebp,%esp
54efdc:	5d                   	pop    %ebp
54efdd:	c3                   	ret
54efde:	cc                   	int3
54efdf:	cc                   	int3
54efe0:	55                   	push   %ebp
54efe1:	8b ec                	mov    %esp,%ebp
54efe3:	56                   	push   %esi
54efe4:	8b 75 08             	mov    0x8(%ebp),%esi
54efe7:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
54efeb:	74 08                	je     0x54eff5
54efed:	b8 08 00 00 00       	mov    $0x8,%eax
54eff2:	5e                   	pop    %esi
54eff3:	5d                   	pop    %ebp
54eff4:	c3                   	ret
54eff5:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54eff9:	53                   	push   %ebx
54effa:	74 04                	je     0x54f000
54effc:	33 db                	xor    %ebx,%ebx
54effe:	eb 1a                	jmp    0x54f01a
54f000:	8b 46 04             	mov    0x4(%esi),%eax
54f003:	6a 0a                	push   $0xa
54f005:	6a 01                	push   $0x1
54f007:	6a 00                	push   $0x0
54f009:	8b 08                	mov    (%eax),%ecx
54f00b:	50                   	push   %eax
54f00c:	8b 41 38             	mov    0x38(%ecx),%eax
54f00f:	ff d0                	call   *%eax
54f011:	8b d8                	mov    %eax,%ebx
54f013:	83 c4 10             	add    $0x10,%esp
54f016:	85 db                	test   %ebx,%ebx
54f018:	75 54                	jne    0x54f06e
54f01a:	8b 46 20             	mov    0x20(%esi),%eax
54f01d:	8d 4e 34             	lea    0x34(%esi),%ecx
54f020:	57                   	push   %edi
54f021:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
54f025:	bf 2c 00 00 00       	mov    $0x2c,%edi
54f02a:	8b 10                	mov    (%eax),%edx
54f02c:	0f 1f 40 00          	nopl   0x0(%eax)
54f030:	8b 01                	mov    (%ecx),%eax
54f032:	3b 02                	cmp    (%edx),%eax
54f034:	75 12                	jne    0x54f048
54f036:	83 c1 04             	add    $0x4,%ecx
54f039:	83 c2 04             	add    $0x4,%edx
54f03c:	83 ef 04             	sub    $0x4,%edi
54f03f:	73 ef                	jae    0x54f030
54f041:	5f                   	pop    %edi
54f042:	8b c3                	mov    %ebx,%eax
54f044:	5b                   	pop    %ebx
54f045:	5e                   	pop    %esi
54f046:	5d                   	pop    %ebp
54f047:	c3                   	ret
54f048:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54f04c:	75 14                	jne    0x54f062
54f04e:	8b 46 04             	mov    0x4(%esi),%eax
54f051:	6a 09                	push   $0x9
54f053:	6a 01                	push   $0x1
54f055:	6a 00                	push   $0x0
54f057:	8b 08                	mov    (%eax),%ecx
54f059:	50                   	push   %eax
54f05a:	8b 41 38             	mov    0x38(%ecx),%eax
54f05d:	ff d0                	call   *%eax
54f05f:	83 c4 10             	add    $0x10,%esp
54f062:	bb 05 02 00 00       	mov    $0x205,%ebx
54f067:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
54f06b:	8b c3                	mov    %ebx,%eax
54f06d:	5f                   	pop    %edi
54f06e:	5b                   	pop    %ebx
54f06f:	5e                   	pop    %esi
54f070:	5d                   	pop    %ebp
54f071:	c3                   	ret
54f072:	cc                   	int3
54f073:	cc                   	int3
54f074:	cc                   	int3
54f075:	cc                   	int3
54f076:	cc                   	int3
54f077:	cc                   	int3
54f078:	cc                   	int3
54f079:	cc                   	int3
54f07a:	cc                   	int3
54f07b:	cc                   	int3
54f07c:	cc                   	int3
54f07d:	cc                   	int3
54f07e:	cc                   	int3
54f07f:	cc                   	int3
54f080:	55                   	push   %ebp
54f081:	8b ec                	mov    %esp,%ebp
54f083:	83 ec 08             	sub    $0x8,%esp
54f086:	53                   	push   %ebx
54f087:	8b 5d 14             	mov    0x14(%ebp),%ebx
54f08a:	56                   	push   %esi
54f08b:	8b 75 08             	mov    0x8(%ebp),%esi
54f08e:	57                   	push   %edi
54f08f:	8b 7d 10             	mov    0x10(%ebp),%edi
54f092:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
54f099:	80 7e 2e 00          	cmpb   $0x0,0x2e(%esi)
54f09d:	89 7d fc             	mov    %edi,-0x4(%ebp)
54f0a0:	74 0c                	je     0x54f0ae
54f0a2:	5f                   	pop    %edi
54f0a3:	5e                   	pop    %esi
54f0a4:	b8 08 00 00 00       	mov    $0x8,%eax
54f0a9:	5b                   	pop    %ebx
54f0aa:	8b e5                	mov    %ebp,%esp
54f0ac:	5d                   	pop    %ebp
54f0ad:	c3                   	ret
54f0ae:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54f0b2:	75 1c                	jne    0x54f0d0
54f0b4:	8b 46 04             	mov    0x4(%esi),%eax
54f0b7:	6a 0a                	push   $0xa
54f0b9:	6a 01                	push   $0x1
54f0bb:	6a 01                	push   $0x1
54f0bd:	8b 08                	mov    (%eax),%ecx
54f0bf:	50                   	push   %eax
54f0c0:	8b 41 38             	mov    0x38(%ecx),%eax
54f0c3:	ff d0                	call   *%eax
54f0c5:	83 c4 10             	add    $0x10,%esp
54f0c8:	85 c0                	test   %eax,%eax
54f0ca:	0f 85 58 01 00 00    	jne    0x54f228
54f0d0:	c6 46 2d 01          	movb   $0x1,0x2d(%esi)
54f0d4:	85 ff                	test   %edi,%edi
54f0d6:	74 2f                	je     0x54f107
54f0d8:	6a 01                	push   $0x1
54f0da:	6a 00                	push   $0x0
54f0dc:	ff 75 18             	push   0x18(%ebp)
54f0df:	53                   	push   %ebx
54f0e0:	56                   	push   %esi
54f0e1:	e8 ba ef 00 00       	call   0x55e0a0
54f0e6:	8b f8                	mov    %eax,%edi
54f0e8:	83 c4 14             	add    $0x14,%esp
54f0eb:	85 ff                	test   %edi,%edi
54f0ed:	75 06                	jne    0x54f0f5
54f0ef:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
54f0f3:	eb 12                	jmp    0x54f107
54f0f5:	83 ff 05             	cmp    $0x5,%edi
54f0f8:	0f 85 ca 00 00 00    	jne    0x54f1c8
54f0fe:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
54f105:	33 db                	xor    %ebx,%ebx
54f107:	8d 45 f8             	lea    -0x8(%ebp),%eax
54f10a:	50                   	push   %eax
54f10b:	56                   	push   %esi
54f10c:	e8 8f f9 00 00       	call   0x55eaa0
54f111:	83 c4 08             	add    $0x8,%esp
54f114:	8b f8                	mov    %eax,%edi
54f116:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
54f11a:	74 19                	je     0x54f135
54f11c:	8b 4e 04             	mov    0x4(%esi),%ecx
54f11f:	8b 01                	mov    (%ecx),%eax
54f121:	83 38 03             	cmpl   $0x3,(%eax)
54f124:	7c 0f                	jl     0x54f135
54f126:	8b 40 48             	mov    0x48(%eax),%eax
54f129:	6a 00                	push   $0x0
54f12b:	6a 00                	push   $0x0
54f12d:	6a 00                	push   $0x0
54f12f:	51                   	push   %ecx
54f130:	ff d0                	call   *%eax
54f132:	83 c4 10             	add    $0x10,%esp
54f135:	85 ff                	test   %edi,%edi
54f137:	75 74                	jne    0x54f1ad
54f139:	39 7e 44             	cmp    %edi,0x44(%esi)
54f13c:	74 2b                	je     0x54f169
54f13e:	0f b7 4e 42          	movzwl 0x42(%esi),%ecx
54f142:	8b c1                	mov    %ecx,%eax
54f144:	81 e1 00 fe 00 00    	and    $0xfe00,%ecx
54f14a:	83 e0 01             	and    $0x1,%eax
54f14d:	c1 e0 10             	shl    $0x10,%eax
54f150:	03 c1                	add    %ecx,%eax
54f152:	3b 45 20             	cmp    0x20(%ebp),%eax
54f155:	74 12                	je     0x54f169
54f157:	68 7d f5 00 00       	push   $0xf57d
54f15c:	e8 4f 0c fd ff       	call   0x51fdb0
54f161:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f164:	83 c4 04             	add    $0x4,%esp
54f167:	eb 1a                	jmp    0x54f183
54f169:	ff 75 24             	push   0x24(%ebp)
54f16c:	ff 75 1c             	push   0x1c(%ebp)
54f16f:	ff 75 18             	push   0x18(%ebp)
54f172:	53                   	push   %ebx
54f173:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f176:	53                   	push   %ebx
54f177:	ff 75 0c             	push   0xc(%ebp)
54f17a:	56                   	push   %esi
54f17b:	e8 70 ef 00 00       	call   0x55e0f0
54f180:	83 c4 1c             	add    $0x1c,%esp
54f183:	8b f8                	mov    %eax,%edi
54f185:	85 ff                	test   %edi,%edi
54f187:	74 05                	je     0x54f18e
54f189:	83 ff 05             	cmp    $0x5,%edi
54f18c:	75 22                	jne    0x54f1b0
54f18e:	8b 4d 28             	mov    0x28(%ebp),%ecx
54f191:	85 c9                	test   %ecx,%ecx
54f193:	74 05                	je     0x54f19a
54f195:	8b 46 44             	mov    0x44(%esi),%eax
54f198:	89 01                	mov    %eax,(%ecx)
54f19a:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
54f19d:	85 c9                	test   %ecx,%ecx
54f19f:	74 0f                	je     0x54f1b0
54f1a1:	8b 46 20             	mov    0x20(%esi),%eax
54f1a4:	8b 00                	mov    (%eax),%eax
54f1a6:	8b 40 60             	mov    0x60(%eax),%eax
54f1a9:	89 01                	mov    %eax,(%ecx)
54f1ab:	eb 03                	jmp    0x54f1b0
54f1ad:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f1b0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
54f1b4:	74 15                	je     0x54f1cb
54f1b6:	6a 30                	push   $0x30
54f1b8:	8d 46 34             	lea    0x34(%esi),%eax
54f1bb:	6a 00                	push   $0x0
54f1bd:	50                   	push   %eax
54f1be:	e8 3d 48 09 00       	call   0x5e3a00
54f1c3:	83 c4 0c             	add    $0xc,%esp
54f1c6:	eb 03                	jmp    0x54f1cb
54f1c8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f1cb:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
54f1cf:	74 29                	je     0x54f1fa
54f1d1:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54f1d5:	75 14                	jne    0x54f1eb
54f1d7:	8b 46 04             	mov    0x4(%esi),%eax
54f1da:	6a 09                	push   $0x9
54f1dc:	6a 01                	push   $0x1
54f1de:	6a 00                	push   $0x0
54f1e0:	8b 08                	mov    (%eax),%ecx
54f1e2:	50                   	push   %eax
54f1e3:	8b 41 38             	mov    0x38(%ecx),%eax
54f1e6:	ff d0                	call   *%eax
54f1e8:	83 c4 10             	add    $0x10,%esp
54f1eb:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
54f1ef:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
54f1f6:	c6 46 2f 00          	movb   $0x0,0x2f(%esi)
54f1fa:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54f1fe:	75 14                	jne    0x54f214
54f200:	8b 46 04             	mov    0x4(%esi),%eax
54f203:	6a 09                	push   $0x9
54f205:	6a 01                	push   $0x1
54f207:	6a 01                	push   $0x1
54f209:	8b 08                	mov    (%eax),%ecx
54f20b:	50                   	push   %eax
54f20c:	8b 41 38             	mov    0x38(%ecx),%eax
54f20f:	ff d0                	call   *%eax
54f211:	83 c4 10             	add    $0x10,%esp
54f214:	c6 46 2d 00          	movb   $0x0,0x2d(%esi)
54f218:	85 ff                	test   %edi,%edi
54f21a:	75 0a                	jne    0x54f226
54f21c:	39 5d 10             	cmp    %ebx,0x10(%ebp)
54f21f:	74 05                	je     0x54f226
54f221:	bf 05 00 00 00       	mov    $0x5,%edi
54f226:	8b c7                	mov    %edi,%eax
54f228:	5f                   	pop    %edi
54f229:	5e                   	pop    %esi
54f22a:	5b                   	pop    %ebx
54f22b:	8b e5                	mov    %ebp,%esp
54f22d:	5d                   	pop    %ebp
54f22e:	c3                   	ret
54f22f:	cc                   	int3
54f230:	55                   	push   %ebp