54ed1a:	6a 02                	push   $0x2
54ed1c:	8b 08                	mov    (%eax),%ecx
54ed1e:	50                   	push   %eax
54ed1f:	8b 41 38             	mov    0x38(%ecx),%eax
54ed22:	ff d0                	call   *%eax
54ed24:	8b f0                	mov    %eax,%esi
54ed26:	83 c4 10             	add    $0x10,%esp
54ed29:	85 f6                	test   %esi,%esi
54ed2b:	74 0f                	je     0x54ed3c
54ed2d:	83 fe 05             	cmp    $0x5,%esi
54ed30:	75 2c                	jne    0x54ed5e
54ed32:	be 05 01 00 00       	mov    $0x105,%esi
54ed37:	e9 f7 01 00 00       	jmp    0x54ef33
54ed3c:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54ed40:	75 14                	jne    0x54ed56
54ed42:	8b 47 04             	mov    0x4(%edi),%eax
54ed45:	6a 05                	push   $0x5
54ed47:	6a 01                	push   $0x1
54ed49:	6a 02                	push   $0x2
54ed4b:	8b 08                	mov    (%eax),%ecx
54ed4d:	50                   	push   %eax
54ed4e:	8b 41 38             	mov    0x38(%ecx),%eax
54ed51:	ff d0                	call   *%eax
54ed53:	83 c4 10             	add    $0x10,%esp
54ed56:	83 ce ff             	or     $0xffffffff,%esi
54ed59:	e9 d5 01 00 00       	jmp    0x54ef33
54ed5e:	85 f6                	test   %esi,%esi
54ed60:	0f 85 cd 01 00 00    	jne    0x54ef33
54ed66:	80 7f 32 00          	cmpb   $0x0,0x32(%edi)
54ed6a:	74 11                	je     0x54ed7d
54ed6c:	53                   	push   %ebx
54ed6d:	57                   	push   %edi
54ed6e:	e8 dd ef 00 00       	call   0x55dd50
54ed73:	83 c4 08             	add    $0x8,%esp
54ed76:	8b f0                	mov    %eax,%esi
54ed78:	e9 b6 01 00 00       	jmp    0x54ef33
54ed7d:	8b 47 20             	mov    0x20(%edi),%eax
54ed80:	8b 00                	mov    (%eax),%eax
54ed82:	83 c0 60             	add    $0x60,%eax
54ed85:	89 45 ec             	mov    %eax,-0x14(%ebp)
54ed88:	8b 00                	mov    (%eax),%eax
54ed8a:	3b 47 44             	cmp    0x44(%edi),%eax
54ed8d:	0f 85 95 00 00 00    	jne    0x54ee28
54ed93:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54ed97:	74 04                	je     0x54ed9d
54ed99:	33 f6                	xor    %esi,%esi
54ed9b:	eb 16                	jmp    0x54edb3
54ed9d:	8b 47 04             	mov    0x4(%edi),%eax
54eda0:	6a 06                	push   $0x6
54eda2:	6a 01                	push   $0x1
54eda4:	6a 03                	push   $0x3
54eda6:	8b 08                	mov    (%eax),%ecx
54eda8:	50                   	push   %eax
54eda9:	8b 41 38             	mov    0x38(%ecx),%eax
54edac:	ff d0                	call   *%eax
54edae:	83 c4 10             	add    $0x10,%esp
54edb1:	8b f0                	mov    %eax,%esi
54edb3:	80 7f 2b 02          	cmpb   $0x2,0x2b(%edi)
54edb7:	74 0e                	je     0x54edc7
54edb9:	8b 47 04             	mov    0x4(%edi),%eax
54edbc:	50                   	push   %eax
54edbd:	8b 08                	mov    (%eax),%ecx
54edbf:	8b 41 3c             	mov    0x3c(%ecx),%eax
54edc2:	ff d0                	call   *%eax
54edc4:	83 c4 04             	add    $0x4,%esp
54edc7:	85 f6                	test   %esi,%esi
54edc9:	75 54                	jne    0x54ee1f
54edcb:	8b 47 20             	mov    0x20(%edi),%eax
54edce:	8d 57 34             	lea    0x34(%edi),%edx
54edd1:	be 2c 00 00 00       	mov    $0x2c,%esi
54edd6:	8b 08                	mov    (%eax),%ecx
54edd8:	8b 01                	mov    (%ecx),%eax
54edda:	3b 02                	cmp    (%edx),%eax
54eddc:	75 18                	jne    0x54edf6
54edde:	83 c1 04             	add    $0x4,%ecx
54ede1:	83 c2 04             	add    $0x4,%edx
54ede4:	83 ee 04             	sub    $0x4,%esi
54ede7:	73 ef                	jae    0x54edd8
54ede9:	33 c0                	xor    %eax,%eax
54edeb:	66 89 47 28          	mov    %ax,0x28(%edi)
54edef:	5f                   	pop    %edi
54edf0:	5e                   	pop    %esi
54edf1:	5b                   	pop    %ebx
54edf2:	8b e5                	mov    %ebp,%esp
54edf4:	5d                   	pop    %ebp
54edf5:	c3                   	ret
54edf6:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54edfa:	8b 55 f8             	mov    -0x8(%ebp),%edx
54edfd:	0f 85 ae fe ff ff    	jne    0x54ecb1
54ee03:	8b 47 04             	mov    0x4(%edi),%eax
54ee06:	6a 05                	push   $0x5
54ee08:	6a 01                	push   $0x1
54ee0a:	6a 03                	push   $0x3
54ee0c:	8b 08                	mov    (%eax),%ecx
54ee0e:	50                   	push   %eax
54ee0f:	8b 41 38             	mov    0x38(%ecx),%eax
54ee12:	ff d0                	call   *%eax
54ee14:	8b 55 f8             	mov    -0x8(%ebp),%edx
54ee17:	83 c4 10             	add    $0x10,%esp
54ee1a:	e9 92 fe ff ff       	jmp    0x54ecb1
54ee1f:	83 fe 05             	cmp    $0x5,%esi
54ee22:	0f 85 0b 01 00 00    	jne    0x54ef33
54ee28:	8b 55 ec             	mov    -0x14(%ebp),%edx
54ee2b:	33 c0                	xor    %eax,%eax
54ee2d:	33 db                	xor    %ebx,%ebx
54ee2f:	89 45 fc             	mov    %eax,-0x4(%ebp)
54ee32:	8b 47 44             	mov    0x44(%edi),%eax
54ee35:	83 c2 08             	add    $0x8,%edx
54ee38:	89 45 f4             	mov    %eax,-0xc(%ebp)
54ee3b:	8d 43 01             	lea    0x1(%ebx),%eax
54ee3e:	66 90                	xchg   %ax,%ax
54ee40:	8b 0a                	mov    (%edx),%ecx
54ee42:	3b d9                	cmp    %ecx,%ebx
54ee44:	77 0e                	ja     0x54ee54
54ee46:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
54ee49:	77 09                	ja     0x54ee54
54ee4b:	8b d9                	mov    %ecx,%ebx
54ee4d:	8b c8                	mov    %eax,%ecx
54ee4f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54ee52:	eb 03                	jmp    0x54ee57
54ee54:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54ee57:	40                   	inc    %eax
54ee58:	83 c2 04             	add    $0x4,%edx
54ee5b:	83 f8 05             	cmp    $0x5,%eax
54ee5e:	7c e0                	jl     0x54ee40
54ee60:	f6 47 2e 02          	testb  $0x2,0x2e(%edi)
54ee64:	89 5d f0             	mov    %ebx,-0x10(%ebp)
54ee67:	0f 85 78 00 00 00    	jne    0x54eee5
54ee6d:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
54ee70:	72 08                	jb     0x54ee7a
54ee72:	85 c9                	test   %ecx,%ecx
54ee74:	0f 85 86 00 00 00    	jne    0x54ef00
54ee7a:	bb 01 00 00 00       	mov    $0x1,%ebx
54ee7f:	90                   	nop
54ee80:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54ee84:	75 2c                	jne    0x54eeb2
54ee86:	8b 4f 04             	mov    0x4(%edi),%ecx
54ee89:	8d 43 03             	lea    0x3(%ebx),%eax
54ee8c:	6a 0a                	push   $0xa
54ee8e:	6a 01                	push   $0x1
54ee90:	50                   	push   %eax
54ee91:	8b 11                	mov    (%ecx),%edx
54ee93:	51                   	push   %ecx
54ee94:	8b 42 38             	mov    0x38(%edx),%eax
54ee97:	ff d0                	call   *%eax
54ee99:	8b f0                	mov    %eax,%esi
54ee9b:	83 c4 10             	add    $0x10,%esp
54ee9e:	85 f6                	test   %esi,%esi
54eea0:	74 12                	je     0x54eeb4
54eea2:	83 fe 05             	cmp    $0x5,%esi
54eea5:	0f 85 85 00 00 00    	jne    0x54ef30
54eeab:	43                   	inc    %ebx
54eeac:	3b d8                	cmp    %eax,%ebx
54eeae:	7c d0                	jl     0x54ee80
54eeb0:	eb 30                	jmp    0x54eee2
54eeb2:	33 f6                	xor    %esi,%esi
54eeb4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
54eeb7:	8b 45 f4             	mov    -0xc(%ebp),%eax
54eeba:	89 45 f0             	mov    %eax,-0x10(%ebp)
54eebd:	89 44 99 04          	mov    %eax,0x4(%ecx,%ebx,4)
54eec1:	8b cb                	mov    %ebx,%ecx
54eec3:	80 7f 2b 00          	cmpb   $0x0,0x2b(%edi)
54eec7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54eeca:	75 19                	jne    0x54eee5
54eecc:	8b 4f 04             	mov    0x4(%edi),%ecx
54eecf:	8d 43 03             	lea    0x3(%ebx),%eax
54eed2:	6a 09                	push   $0x9
54eed4:	6a 01                	push   $0x1
54eed6:	50                   	push   %eax
54eed7:	8b 11                	mov    (%ecx),%edx
54eed9:	51                   	push   %ecx
54eeda:	8b 42 38             	mov    0x38(%edx),%eax
54eedd:	ff d0                	call   *%eax
54eedf:	83 c4 10             	add    $0x10,%esp
54eee2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
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