58eb81:	89 0e                	mov    %ecx,(%esi)
58eb83:	ff 74 24 30          	push   0x30(%esp)
58eb87:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
58eb8b:	ff 74 24 30          	push   0x30(%esp)
58eb8f:	89 46 08             	mov    %eax,0x8(%esi)
58eb92:	8b 44 24 50          	mov    0x50(%esp),%eax
58eb96:	ff 74 24 30          	push   0x30(%esp)
58eb9a:	89 4e 04             	mov    %ecx,0x4(%esi)
58eb9d:	89 07                	mov    %eax,(%edi)
58eb9f:	8b 44 24 50          	mov    0x50(%esp),%eax
58eba3:	89 47 04             	mov    %eax,0x4(%edi)
58eba6:	e8 35 fe ff ff       	call   0x58e9e0
58ebab:	8b d8                	mov    %eax,%ebx
58ebad:	83 c4 24             	add    $0x24,%esp
58ebb0:	85 db                	test   %ebx,%ebx
58ebb2:	75 23                	jne    0x58ebd7
58ebb4:	68 ba 01 00 00       	push   $0x1ba
58ebb9:	68 28 6f 66 00       	push   $0x666f28
58ebbe:	56                   	push   %esi
58ebbf:	e8 bc 1b f5 ff       	call   0x4e0780
58ebc4:	68 bb 01 00 00       	push   $0x1bb
58ebc9:	68 28 6f 66 00       	push   $0x666f28
58ebce:	57                   	push   %edi
58ebcf:	e8 ac 1b f5 ff       	call   0x4e0780
58ebd4:	83 c4 18             	add    $0x18,%esp
58ebd7:	8b c3                	mov    %ebx,%eax
58ebd9:	5b                   	pop    %ebx
58ebda:	5f                   	pop    %edi
58ebdb:	5e                   	pop    %esi
58ebdc:	c3                   	ret
58ebdd:	68 a6 01 00 00       	push   $0x1a6
58ebe2:	68 28 6f 66 00       	push   $0x666f28
58ebe7:	56                   	push   %esi
58ebe8:	e8 93 1b f5 ff       	call   0x4e0780
58ebed:	68 a7 01 00 00       	push   $0x1a7
58ebf2:	68 28 6f 66 00       	push   $0x666f28
58ebf7:	57                   	push   %edi
58ebf8:	e8 83 1b f5 ff       	call   0x4e0780
58ebfd:	83 c4 18             	add    $0x18,%esp
58ec00:	33 c0                	xor    %eax,%eax
58ec02:	5f                   	pop    %edi
58ec03:	5e                   	pop    %esi
58ec04:	c3                   	ret
58ec05:	cc                   	int3
58ec06:	cc                   	int3
58ec07:	cc                   	int3
58ec08:	cc                   	int3
58ec09:	cc                   	int3
58ec0a:	cc                   	int3
58ec0b:	cc                   	int3
58ec0c:	cc                   	int3
58ec0d:	cc                   	int3
58ec0e:	cc                   	int3
58ec0f:	cc                   	int3
58ec10:	b8 14 00 00 00       	mov    $0x14,%eax
58ec15:	e8 96 2b 04 00       	call   0x5d17b0
58ec1a:	53                   	push   %ebx
58ec1b:	55                   	push   %ebp
58ec1c:	8b 6c 24 20          	mov    0x20(%esp),%ebp
58ec20:	56                   	push   %esi
58ec21:	57                   	push   %edi
58ec22:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58ec29:	00
58ec2a:	8b 8d 04 04 00 00    	mov    0x404(%ebp),%ecx
58ec30:	81 c1 f0 00 00 00    	add    $0xf0,%ecx
58ec36:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
58ec3a:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
58ec3e:	0f 86 4e 01 00 00    	jbe    0x58ed92
58ec44:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
58ec48:	33 d2                	xor    %edx,%edx
58ec4a:	89 54 24 18          	mov    %edx,0x18(%esp)
58ec4e:	66 90                	xchg   %ax,%ax
58ec50:	8b 31                	mov    (%ecx),%esi
58ec52:	ff 74 24 3c          	push   0x3c(%esp)
58ec56:	03 f2                	add    %edx,%esi
58ec58:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
58ec5f:	00
58ec60:	53                   	push   %ebx
58ec61:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
58ec68:	00
58ec69:	ff 76 08             	push   0x8(%esi)
58ec6c:	55                   	push   %ebp
58ec6d:	e8 3e 68 01 00       	call   0x5a54b0
58ec72:	83 c4 10             	add    $0x10,%esp
58ec75:	85 c0                	test   %eax,%eax
58ec77:	0f 84 f4 00 00 00    	je     0x58ed71
58ec7d:	f7 c3 00 1f 00 00    	test   $0x1f00,%ebx
58ec83:	74 0a                	je     0x58ec8f
58ec85:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
58ec89:	0f 84 e2 00 00 00    	je     0x58ed71
58ec8f:	8b fb                	mov    %ebx,%edi
58ec91:	81 e7 80 00 00 00    	and    $0x80,%edi
58ec97:	75 09                	jne    0x58eca2
58ec99:	39 7e 10             	cmp    %edi,0x10(%esi)
58ec9c:	0f 84 cf 00 00 00    	je     0x58ed71
58eca2:	8b 4e 10             	mov    0x10(%esi),%ecx
58eca5:	85 c9                	test   %ecx,%ecx
58eca7:	74 33                	je     0x58ecdc
58eca9:	ff 76 18             	push   0x18(%esi)
58ecac:	8d 44 24 24          	lea    0x24(%esp),%eax
58ecb0:	50                   	push   %eax
58ecb1:	ff 74 24 40          	push   0x40(%esp)
58ecb5:	8d 44 24 1c          	lea    0x1c(%esp),%eax
58ecb9:	ff 74 24 40          	push   0x40(%esp)
58ecbd:	50                   	push   %eax
58ecbe:	8d 44 24 3c          	lea    0x3c(%esp),%eax
58ecc2:	50                   	push   %eax
58ecc3:	0f b7 06             	movzwl (%esi),%eax
58ecc6:	53                   	push   %ebx
58ecc7:	50                   	push   %eax
58ecc8:	55                   	push   %ebp
58ecc9:	ff d1                	call   *%ecx
58eccb:	83 c4 24             	add    $0x24,%esp
58ecce:	85 c0                	test   %eax,%eax
58ecd0:	0f 88 c9 00 00 00    	js     0x58ed9f
58ecd6:	0f 84 95 00 00 00    	je     0x58ed71
58ecdc:	0f b7 06             	movzwl (%esi),%eax
58ecdf:	6a 02                	push   $0x2
58ece1:	50                   	push   %eax
58ece2:	ff 74 24 38          	push   0x38(%esp)
58ece6:	e8 b5 52 01 00       	call   0x5a3fa0
58eceb:	83 c4 0c             	add    $0xc,%esp
58ecee:	85 c0                	test   %eax,%eax
58ecf0:	0f 84 fa 00 00 00    	je     0x58edf0
58ecf6:	6a 02                	push   $0x2
58ecf8:	ff 74 24 34          	push   0x34(%esp)
58ecfc:	e8 1f 54 01 00       	call   0x5a4120
58ed01:	83 c4 08             	add    $0x8,%esp
58ed04:	85 c0                	test   %eax,%eax
58ed06:	0f 84 e4 00 00 00    	je     0x58edf0
58ed0c:	8b 44 24 10          	mov    0x10(%esp),%eax
58ed10:	85 c0                	test   %eax,%eax
58ed12:	74 19                	je     0x58ed2d
58ed14:	50                   	push   %eax
58ed15:	ff 74 24 2c          	push   0x2c(%esp)
58ed19:	ff 74 24 38          	push   0x38(%esp)
58ed1d:	e8 de 51 01 00       	call   0x5a3f00
58ed22:	83 c4 0c             	add    $0xc,%esp
58ed25:	85 c0                	test   %eax,%eax
58ed27:	0f 84 c3 00 00 00    	je     0x58edf0
58ed2d:	ff 74 24 30          	push   0x30(%esp)
58ed31:	e8 aa 4f 01 00       	call   0x5a3ce0
58ed36:	83 c4 04             	add    $0x4,%esp
58ed39:	85 c0                	test   %eax,%eax
58ed3b:	0f 84 af 00 00 00    	je     0x58edf0
58ed41:	85 ff                	test   %edi,%edi
58ed43:	74 13                	je     0x58ed58
58ed45:	8b 4e 0c             	mov    0xc(%esi),%ecx
58ed48:	8b c1                	mov    %ecx,%eax
58ed4a:	d1 e8                	shr    $1,%eax
58ed4c:	f7 d0                	not    %eax
58ed4e:	a8 01                	test   $0x1,%al
58ed50:	74 78                	je     0x58edca
58ed52:	83 c9 02             	or     $0x2,%ecx
58ed55:	89 4e 0c             	mov    %ecx,0xc(%esi)
58ed58:	8b 4e 14             	mov    0x14(%esi),%ecx
58ed5b:	85 c9                	test   %ecx,%ecx
58ed5d:	74 12                	je     0x58ed71
58ed5f:	ff 76 18             	push   0x18(%esi)
58ed62:	0f b7 06             	movzwl (%esi),%eax
58ed65:	ff 74 24 2c          	push   0x2c(%esp)
58ed69:	53                   	push   %ebx
58ed6a:	50                   	push   %eax
58ed6b:	55                   	push   %ebp
58ed6c:	ff d1                	call   *%ecx
58ed6e:	83 c4 14             	add    $0x14,%esp
58ed71:	8b 44 24 14          	mov    0x14(%esp),%eax
58ed75:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58ed79:	40                   	inc    %eax
58ed7a:	8b 54 24 18          	mov    0x18(%esp),%edx
58ed7e:	83 c2 24             	add    $0x24,%edx
58ed81:	89 44 24 14          	mov    %eax,0x14(%esp)
58ed85:	89 54 24 18          	mov    %edx,0x18(%esp)
58ed89:	3b 41 04             	cmp    0x4(%ecx),%eax
58ed8c:	0f 82 be fe ff ff    	jb     0x58ec50
58ed92:	5f                   	pop    %edi
58ed93:	5e                   	pop    %esi
58ed94:	5d                   	pop    %ebp
58ed95:	b8 01 00 00 00       	mov    $0x1,%eax
58ed9a:	5b                   	pop    %ebx
58ed9b:	83 c4 14             	add    $0x14,%esp
58ed9e:	c3                   	ret
58ed9f:	68 d4 00 00 00       	push   $0xd4
58eda4:	68 28 6f 66 00       	push   $0x666f28
58eda9:	68 ea 00 00 00       	push   $0xea
58edae:	68 2a 02 00 00       	push   $0x22a
58edb3:	ff 74 24 30          	push   0x30(%esp)
58edb7:	55                   	push   %ebp
58edb8:	e8 53 03 00 00       	call   0x58f110
58edbd:	83 c4 18             	add    $0x18,%esp
58edc0:	33 c0                	xor    %eax,%eax
58edc2:	5f                   	pop    %edi
58edc3:	5e                   	pop    %esi
58edc4:	5d                   	pop    %ebp
58edc5:	5b                   	pop    %ebx
58edc6:	83 c4 14             	add    $0x14,%esp
58edc9:	c3                   	ret
58edca:	68 e9 00 00 00       	push   $0xe9
58edcf:	68 28 6f 66 00       	push   $0x666f28
58edd4:	6a 44                	push   $0x44
58edd6:	68 2a 02 00 00       	push   $0x22a
58eddb:	6a 50                	push   $0x50
58eddd:	55                   	push   %ebp
58edde:	e8 2d 03 00 00       	call   0x58f110
58ede3:	83 c4 18             	add    $0x18,%esp
58ede6:	33 c0                	xor    %eax,%eax
58ede8:	5f                   	pop    %edi
58ede9:	5e                   	pop    %esi
58edea:	5d                   	pop    %ebp
58edeb:	5b                   	pop    %ebx
58edec:	83 c4 14             	add    $0x14,%esp
58edef:	c3                   	ret
58edf0:	68 e0 00 00 00       	push   $0xe0
58edf5:	68 28 6f 66 00       	push   $0x666f28
58edfa:	6a 44                	push   $0x44
58edfc:	68 2a 02 00 00       	push   $0x22a
58ee01:	6a 50                	push   $0x50
58ee03:	55                   	push   %ebp
58ee04:	e8 07 03 00 00       	call   0x58f110
58ee09:	83 c4 18             	add    $0x18,%esp
58ee0c:	33 c0                	xor    %eax,%eax
58ee0e:	5f                   	pop    %edi
58ee0f:	5e                   	pop    %esi
58ee10:	5d                   	pop    %ebp
58ee11:	5b                   	pop    %ebx
58ee12:	83 c4 14             	add    $0x14,%esp
58ee15:	c3                   	ret
58ee16:	cc                   	int3
58ee17:	cc                   	int3
58ee18:	cc                   	int3
58ee19:	cc                   	int3
58ee1a:	cc                   	int3
58ee1b:	cc                   	int3
58ee1c:	cc                   	int3
58ee1d:	cc                   	int3
58ee1e:	cc                   	int3
58ee1f:	cc                   	int3
58ee20:	8b 44 24 24          	mov    0x24(%esp),%eax
58ee24:	8b 48 04             	mov    0x4(%eax),%ecx
58ee27:	85 c9                	test   %ecx,%ecx
58ee29:	75 06                	jne    0x58ee31
58ee2b:	b8 01 00 00 00       	mov    $0x1,%eax
58ee30:	c3                   	ret
58ee31:	ff 30                	push   (%eax)
58ee33:	ff 74 24 24          	push   0x24(%esp)
58ee37:	ff 74 24 1c          	push   0x1c(%esp)
58ee3b:	ff 74 24 1c          	push   0x1c(%esp)
58ee3f:	ff 74 24 18          	push   0x18(%esp)
58ee43:	ff 74 24 18          	push   0x18(%esp)
58ee47:	ff d1                	call   *%ecx
58ee49:	83 c4 18             	add    $0x18,%esp
58ee4c:	c3                   	ret
58ee4d:	cc                   	int3
58ee4e:	cc                   	int3
58ee4f:	cc                   	int3
58ee50:	8b 44 24 04          	mov    0x4(%esp),%eax
58ee54:	33 d2                	xor    %edx,%edx
58ee56:	53                   	push   %ebx
58ee57:	56                   	push   %esi
58ee58:	57                   	push   %edi
58ee59:	8b 78 04             	mov    0x4(%eax),%edi
58ee5c:	8b 08                	mov    (%eax),%ecx
58ee5e:	85 ff                	test   %edi,%edi
58ee60:	74 2e                	je     0x58ee90
58ee62:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58ee66:	8b 74 24 14          	mov    0x14(%esp),%esi
58ee6a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
58ee70:	0f b7 01             	movzwl (%ecx),%eax
58ee73:	3b d8                	cmp    %eax,%ebx
58ee75:	75 11                	jne    0x58ee88
58ee77:	83 fe 02             	cmp    $0x2,%esi
58ee7a:	74 1a                	je     0x58ee96
58ee7c:	8b 41 04             	mov    0x4(%ecx),%eax
58ee7f:	3b f0                	cmp    %eax,%esi
58ee81:	74 13                	je     0x58ee96
58ee83:	83 f8 02             	cmp    $0x2,%eax
58ee86:	74 0e                	je     0x58ee96
58ee88:	42                   	inc    %edx
58ee89:	83 c1 24             	add    $0x24,%ecx
58ee8c:	3b d7                	cmp    %edi,%edx
58ee8e:	72 e0                	jb     0x58ee70
58ee90:	5f                   	pop    %edi
58ee91:	5e                   	pop    %esi
58ee92:	33 c0                	xor    %eax,%eax
58ee94:	5b                   	pop    %ebx
58ee95:	c3                   	ret
58ee96:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58ee9a:	85 c0                	test   %eax,%eax
58ee9c:	74 02                	je     0x58eea0
58ee9e:	89 10                	mov    %edx,(%eax)
58eea0:	5f                   	pop    %edi
58eea1:	5e                   	pop    %esi
58eea2:	8b c1                	mov    %ecx,%eax
58eea4:	5b                   	pop    %ebx
58eea5:	c3                   	ret
58eea6:	cc                   	int3
58eea7:	cc                   	int3
58eea8:	cc                   	int3
58eea9:	cc                   	int3
58eeaa:	cc                   	int3
58eeab:	cc                   	int3
58eeac:	cc                   	int3
58eead:	cc                   	int3
58eeae:	cc                   	int3
58eeaf:	cc                   	int3
58eeb0:	8b 44 24 14          	mov    0x14(%esp),%eax
58eeb4:	8b 48 08             	mov    0x8(%eax),%ecx
58eeb7:	85 c9                	test   %ecx,%ecx
58eeb9:	74 13                	je     0x58eece
58eebb:	ff 30                	push   (%eax)
58eebd:	ff 74 24 14          	push   0x14(%esp)
58eec1:	ff 74 24 10          	push   0x10(%esp)
58eec5:	ff 74 24 10          	push   0x10(%esp)
58eec9:	ff d1                	call   *%ecx
58eecb:	83 c4 10             	add    $0x10,%esp
58eece:	c3                   	ret
58eecf:	cc                   	int3
58eed0:	8b 54 24 04          	mov    0x4(%esp),%edx
58eed4:	33 c0                	xor    %eax,%eax
58eed6:	8b 0a                	mov    (%edx),%ecx
58eed8:	39 42 04             	cmp    %eax,0x4(%edx)
58eedb:	76 12                	jbe    0x58eeef
58eedd:	83 c1 0c             	add    $0xc,%ecx
58eee0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
58eee6:	8d 49 24             	lea    0x24(%ecx),%ecx
58eee9:	40                   	inc    %eax
58eeea:	3b 42 04             	cmp    0x4(%edx),%eax
58eeed:	72 f1                	jb     0x58eee0
58eeef:	c3                   	ret
58eef0:	f7 44 24 08 80 01 00 	testl  $0x180,0x8(%esp)
58eef7:	00
58eef8:	ba 02 00 00 00       	mov    $0x2,%edx
58eefd:	53                   	push   %ebx
58eefe:	55                   	push   %ebp
58eeff:	56                   	push   %esi
58ef00:	57                   	push   %edi
58ef01:	8b 7c 24 14          	mov    0x14(%esp),%edi
58ef05:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
58ef0b:	74 08                	je     0x58ef15
58ef0d:	33 d2                	xor    %edx,%edx
58ef0f:	39 57 1c             	cmp    %edx,0x1c(%edi)
58ef12:	0f 95 c2             	setne  %dl
58ef15:	8b 98 f4 00 00 00    	mov    0xf4(%eax),%ebx
58ef1b:	33 c9                	xor    %ecx,%ecx
58ef1d:	8b b0 f0 00 00 00    	mov    0xf0(%eax),%esi
58ef23:	85 db                	test   %ebx,%ebx
58ef25:	74 29                	je     0x58ef50
58ef27:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58ef2b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
58ef30:	0f b7 06             	movzwl (%esi),%eax