58d900:	53                   	push   %ebx
58d901:	e8 7a cd fc ff       	call   0x55a680
58d906:	83 c4 0c             	add    $0xc,%esp
58d909:	85 c0                	test   %eax,%eax
58d90b:	0f 8e ea 00 00 00    	jle    0x58d9fb
58d911:	68 bd 12 00 00       	push   $0x12bd
58d916:	68 08 6f 66 00       	push   $0x666f08
58d91b:	ff 74 24 14          	push   0x14(%esp)
58d91f:	e8 2c 2e f5 ff       	call   0x4e0750
58d924:	8b f8                	mov    %eax,%edi
58d926:	83 c4 0c             	add    $0xc,%esp
58d929:	85 ff                	test   %edi,%edi
58d92b:	75 11                	jne    0x58d93e
58d92d:	68 c0 12 00 00       	push   $0x12c0
58d932:	68 08 6f 66 00       	push   $0x666f08
58d937:	6a 41                	push   $0x41
58d939:	e9 c9 00 00 00       	jmp    0x58da07
58d93e:	8d 44 24 0c          	lea    0xc(%esp),%eax
58d942:	50                   	push   %eax
58d943:	57                   	push   %edi
58d944:	53                   	push   %ebx
58d945:	e8 36 cd fc ff       	call   0x55a680
58d94a:	83 c4 0c             	add    $0xc,%esp
58d94d:	85 c0                	test   %eax,%eax
58d94f:	7f 0a                	jg     0x58d95b
58d951:	68 c6 12 00 00       	push   $0x12c6
58d956:	e9 a5 00 00 00       	jmp    0x58da00
58d95b:	39 74 24 20          	cmp    %esi,0x20(%esp)
58d95f:	74 77                	je     0x58d9d8
58d961:	8b 74 24 14          	mov    0x14(%esp),%esi
58d965:	8b 4e 04             	mov    0x4(%esi),%ecx
58d968:	8b 41 64             	mov    0x64(%ecx),%eax
58d96b:	f6 40 30 08          	testb  $0x8,0x30(%eax)
58d96f:	75 53                	jne    0x58d9c4
58d971:	8b 01                	mov    (%ecx),%eax
58d973:	3d 04 03 00 00       	cmp    $0x304,%eax
58d978:	7c 4a                	jl     0x58d9c4
58d97a:	3d 00 00 01 00       	cmp    $0x10000,%eax
58d97f:	74 43                	je     0x58d9c4
58d981:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
58d988:	75 24                	jne    0x58d9ae
58d98a:	8d 86 cc 00 00 00    	lea    0xcc(%esi),%eax
58d990:	50                   	push   %eax
58d991:	6a 00                	push   $0x0
58d993:	6a 00                	push   $0x0
58d995:	6a 00                	push   $0x0
58d997:	56                   	push   %esi
58d998:	e8 63 a9 ff ff       	call   0x588300
58d99d:	83 c4 04             	add    $0x4,%esp
58d9a0:	50                   	push   %eax
58d9a1:	56                   	push   %esi
58d9a2:	e8 e9 95 00 00       	call   0x596f90
58d9a7:	83 c4 18             	add    $0x18,%esp
58d9aa:	85 c0                	test   %eax,%eax
58d9ac:	74 12                	je     0x58d9c0
58d9ae:	ff 74 24 0c          	push   0xc(%esp)
58d9b2:	57                   	push   %edi
58d9b3:	56                   	push   %esi
58d9b4:	e8 67 95 00 00       	call   0x596f20
58d9b9:	83 c4 0c             	add    $0xc,%esp
58d9bc:	85 c0                	test   %eax,%eax
58d9be:	75 34                	jne    0x58d9f4
58d9c0:	33 f6                	xor    %esi,%esi
58d9c2:	eb 56                	jmp    0x58da1a
58d9c4:	6a 00                	push   $0x0
58d9c6:	ff 74 24 10          	push   0x10(%esp)
58d9ca:	57                   	push   %edi
58d9cb:	56                   	push   %esi
58d9cc:	e8 af 01 00 00       	call   0x58db80
58d9d1:	83 c4 10             	add    $0x10,%esp
58d9d4:	8b f0                	mov    %eax,%esi
58d9d6:	eb 42                	jmp    0x58da1a
58d9d8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
58d9dc:	8b 41 7c             	mov    0x7c(%ecx),%eax
58d9df:	89 b8 50 02 00 00    	mov    %edi,0x250(%eax)
58d9e5:	33 ff                	xor    %edi,%edi
58d9e7:	8b 49 7c             	mov    0x7c(%ecx),%ecx
58d9ea:	8b 44 24 0c          	mov    0xc(%esp),%eax
58d9ee:	89 81 54 02 00 00    	mov    %eax,0x254(%ecx)
58d9f4:	be 01 00 00 00       	mov    $0x1,%esi
58d9f9:	eb 1f                	jmp    0x58da1a
58d9fb:	68 b9 12 00 00       	push   $0x12b9
58da00:	68 08 6f 66 00       	push   $0x666f08
58da05:	6a 44                	push   $0x44
58da07:	68 4e 02 00 00       	push   $0x24e
58da0c:	6a 50                	push   $0x50
58da0e:	ff 74 24 28          	push   0x28(%esp)
58da12:	e8 f9 16 00 00       	call   0x58f110
58da17:	83 c4 18             	add    $0x18,%esp
58da1a:	68 e5 12 00 00       	push   $0x12e5
58da1f:	68 08 6f 66 00       	push   $0x666f08
58da24:	ff 74 24 14          	push   0x14(%esp)
58da28:	57                   	push   %edi
58da29:	e8 12 2e f5 ff       	call   0x4e0840
58da2e:	53                   	push   %ebx
58da2f:	e8 bc 97 f5 ff       	call   0x4e71f0
58da34:	83 c4 14             	add    $0x14,%esp
58da37:	8b c6                	mov    %esi,%eax
58da39:	5b                   	pop    %ebx
58da3a:	5f                   	pop    %edi
58da3b:	5e                   	pop    %esi
58da3c:	59                   	pop    %ecx
58da3d:	c3                   	ret
58da3e:	68 af 12 00 00       	push   $0x12af
58da43:	68 08 6f 66 00       	push   $0x666f08
58da48:	6a 44                	push   $0x44
58da4a:	68 4e 02 00 00       	push   $0x24e
58da4f:	6a 50                	push   $0x50
58da51:	ff 74 24 24          	push   0x24(%esp)
58da55:	e8 b6 16 00 00       	call   0x58f110
58da5a:	83 c4 18             	add    $0x18,%esp
58da5d:	33 c0                	xor    %eax,%eax
58da5f:	5f                   	pop    %edi
58da60:	5e                   	pop    %esi
58da61:	59                   	pop    %ecx
58da62:	c3                   	ret
58da63:	cc                   	int3
58da64:	cc                   	int3
58da65:	cc                   	int3
58da66:	cc                   	int3
58da67:	cc                   	int3
58da68:	cc                   	int3
58da69:	cc                   	int3
58da6a:	cc                   	int3
58da6b:	cc                   	int3
58da6c:	cc                   	int3
58da6d:	cc                   	int3
58da6e:	cc                   	int3
58da6f:	cc                   	int3
58da70:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
58da75:	75 03                	jne    0x58da7a
58da77:	33 c0                	xor    %eax,%eax
58da79:	c3                   	ret
58da7a:	56                   	push   %esi
58da7b:	e8 d0 34 f6 ff       	call   0x4f0f50
58da80:	ff 74 24 08          	push   0x8(%esp)
58da84:	8b f0                	mov    %eax,%esi
58da86:	56                   	push   %esi
58da87:	e8 c4 36 f6 ff       	call   0x4f1150
58da8c:	83 c4 08             	add    $0x8,%esp
58da8f:	85 c0                	test   %eax,%eax
58da91:	7f 0d                	jg     0x58daa0
58da93:	56                   	push   %esi
58da94:	e8 47 32 f6 ff       	call   0x4f0ce0
58da99:	83 c4 04             	add    $0x4,%esp
58da9c:	33 c0                	xor    %eax,%eax
58da9e:	5e                   	pop    %esi
58da9f:	c3                   	ret
58daa0:	8b c6                	mov    %esi,%eax
58daa2:	5e                   	pop    %esi
58daa3:	c3                   	ret
58daa4:	cc                   	int3
58daa5:	cc                   	int3
58daa6:	cc                   	int3
58daa7:	cc                   	int3
58daa8:	cc                   	int3
58daa9:	cc                   	int3
58daaa:	cc                   	int3
58daab:	cc                   	int3
58daac:	cc                   	int3
58daad:	cc                   	int3
58daae:	cc                   	int3
58daaf:	cc                   	int3
58dab0:	56                   	push   %esi
58dab1:	8b 74 24 14          	mov    0x14(%esp),%esi
58dab5:	57                   	push   %edi
58dab6:	83 fe 04             	cmp    $0x4,%esi
58dab9:	0f 82 ad 00 00 00    	jb     0x58db6c
58dabf:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
58dac4:	8b 44 24 0c          	mov    0xc(%esp),%eax
58dac8:	8b 80 f0 04 00 00    	mov    0x4f0(%eax),%eax
58dace:	74 05                	je     0x58dad5
58dad0:	c1 e8 06             	shr    $0x6,%eax
58dad3:	eb 03                	jmp    0x58dad8
58dad5:	c1 e8 05             	shr    $0x5,%eax
58dad8:	83 e0 01             	and    $0x1,%eax
58dadb:	85 c0                	test   %eax,%eax
58dadd:	74 34                	je     0x58db13
58dadf:	53                   	push   %ebx
58dae0:	6a 00                	push   $0x0
58dae2:	e8 8a 8b 04 00       	call   0x5d6671
58dae7:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
58daeb:	8b d8                	mov    %eax,%ebx
58daed:	8b cb                	mov    %ebx,%ecx
58daef:	c1 e8 08             	shr    $0x8,%eax
58daf2:	c1 e9 18             	shr    $0x18,%ecx
58daf5:	8d 57 01             	lea    0x1(%edi),%edx
58daf8:	83 c4 04             	add    $0x4,%esp
58dafb:	88 42 01             	mov    %al,0x1(%edx)
58dafe:	88 0f                	mov    %cl,(%edi)
58db00:	8d 46 fc             	lea    -0x4(%esi),%eax
58db03:	8b cb                	mov    %ebx,%ecx
58db05:	88 5a 02             	mov    %bl,0x2(%edx)
58db08:	c1 e9 10             	shr    $0x10,%ecx
58db0b:	88 0a                	mov    %cl,(%edx)
58db0d:	83 c2 03             	add    $0x3,%edx
58db10:	5b                   	pop    %ebx
58db11:	eb 08                	jmp    0x58db1b
58db13:	8b 7c 24 14          	mov    0x14(%esp),%edi
58db17:	8b c6                	mov    %esi,%eax
58db19:	8b d7                	mov    %edi,%edx
58db1b:	50                   	push   %eax
58db1c:	52                   	push   %edx
58db1d:	e8 2e 37 f5 ff       	call   0x4e1250
58db22:	8b d0                	mov    %eax,%edx
58db24:	83 c4 08             	add    $0x8,%esp
58db27:	85 d2                	test   %edx,%edx
58db29:	7e 3c                	jle    0x58db67
58db2b:	83 fe 08             	cmp    $0x8,%esi
58db2e:	76 3c                	jbe    0x58db6c
58db30:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
58db34:	83 f9 01             	cmp    $0x1,%ecx
58db37:	75 17                	jne    0x58db50
58db39:	a1 38 49 66 00       	mov    0x664938,%eax
58db3e:	89 44 37 f8          	mov    %eax,-0x8(%edi,%esi,1)
58db42:	a1 3c 49 66 00       	mov    0x66493c,%eax
58db47:	89 44 37 fc          	mov    %eax,-0x4(%edi,%esi,1)
58db4b:	8b c2                	mov    %edx,%eax
58db4d:	5f                   	pop    %edi
58db4e:	5e                   	pop    %esi
58db4f:	c3                   	ret
58db50:	83 f9 02             	cmp    $0x2,%ecx
58db53:	75 12                	jne    0x58db67
58db55:	a1 30 49 66 00       	mov    0x664930,%eax
58db5a:	89 44 37 f8          	mov    %eax,-0x8(%edi,%esi,1)
58db5e:	a1 34 49 66 00       	mov    0x664934,%eax
58db63:	89 44 37 fc          	mov    %eax,-0x4(%edi,%esi,1)
58db67:	5f                   	pop    %edi
58db68:	8b c2                	mov    %edx,%eax
58db6a:	5e                   	pop    %esi
58db6b:	c3                   	ret
58db6c:	5f                   	pop    %edi
58db6d:	33 c0                	xor    %eax,%eax
58db6f:	5e                   	pop    %esi
58db70:	c3                   	ret
58db71:	cc                   	int3
58db72:	cc                   	int3
58db73:	cc                   	int3
58db74:	cc                   	int3
58db75:	cc                   	int3
58db76:	cc                   	int3
58db77:	cc                   	int3
58db78:	cc                   	int3
58db79:	cc                   	int3
58db7a:	cc                   	int3
58db7b:	cc                   	int3
58db7c:	cc                   	int3
58db7d:	cc                   	int3
58db7e:	cc                   	int3
58db7f:	cc                   	int3
58db80:	b8 04 00 00 00       	mov    $0x4,%eax
58db85:	e8 26 3c 04 00       	call   0x5d17b0
58db8a:	53                   	push   %ebx
58db8b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
58db8f:	55                   	push   %ebp
58db90:	8b 6c 24 14          	mov    0x14(%esp),%ebp
58db94:	56                   	push   %esi
58db95:	8b 74 24 14          	mov    0x14(%esp),%esi
58db99:	57                   	push   %edi
58db9a:	33 ff                	xor    %edi,%edi
58db9c:	8b 4e 7c             	mov    0x7c(%esi),%ecx
58db9f:	8b 81 10 02 00 00    	mov    0x210(%ecx),%eax
58dba5:	8b 40 10             	mov    0x10(%eax),%eax
58dba8:	a9 c8 01 00 00       	test   $0x1c8,%eax
58dbad:	0f 84 3c 01 00 00    	je     0x58dcef
58dbb3:	8b 89 5c 02 00 00    	mov    0x25c(%ecx),%ecx
58dbb9:	83 e0 08             	and    $0x8,%eax
58dbbc:	89 44 24 10          	mov    %eax,0x10(%esp)
58dbc0:	0f 45 d9             	cmovne %ecx,%ebx
58dbc3:	89 4c 24 18          	mov    %ecx,0x18(%esp)
58dbc7:	68 09 12 00 00       	push   $0x1209
58dbcc:	8d 41 04             	lea    0x4(%ecx),%eax
58dbcf:	03 c3                	add    %ebx,%eax
58dbd1:	68 08 6f 66 00       	push   $0x666f08
58dbd6:	50                   	push   %eax
58dbd7:	e8 74 2b f5 ff       	call   0x4e0750
58dbdc:	8b f8                	mov    %eax,%edi
58dbde:	83 c4 0c             	add    $0xc,%esp
58dbe1:	85 ff                	test   %edi,%edi
58dbe3:	0f 84 c3 00 00 00    	je     0x58dcac
58dbe9:	8b c3                	mov    %ebx,%eax
58dbeb:	88 5f 01             	mov    %bl,0x1(%edi)
58dbee:	c1 e8 08             	shr    $0x8,%eax
58dbf1:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
58dbf6:	88 07                	mov    %al,(%edi)
58dbf8:	8d 47 02             	lea    0x2(%edi),%eax
58dbfb:	53                   	push   %ebx
58dbfc:	74 0a                	je     0x58dc08
58dbfe:	6a 00                	push   $0x0
58dc00:	50                   	push   %eax
58dc01:	e8 6a 50 04 00       	call   0x5d2c70
58dc06:	eb 07                	jmp    0x58dc0f
58dc08:	55                   	push   %ebp
58dc09:	50                   	push   %eax
58dc0a:	e8 c1 51 04 00       	call   0x5d2dd0
58dc0f:	8b 54 24 24          	mov    0x24(%esp),%edx
58dc13:	8d 4f 02             	lea    0x2(%edi),%ecx
58dc16:	8b c2                	mov    %edx,%eax
58dc18:	88 54 19 01          	mov    %dl,0x1(%ecx,%ebx,1)
58dc1c:	c1 e8 08             	shr    $0x8,%eax
58dc1f:	83 c4 0c             	add    $0xc,%esp
58dc22:	88 04 19             	mov    %al,(%ecx,%ebx,1)
58dc25:	8b 46 7c             	mov    0x7c(%esi),%eax
58dc28:	52                   	push   %edx
58dc29:	ff b0 58 02 00 00    	push   0x258(%eax)
58dc2f:	8d 43 02             	lea    0x2(%ebx),%eax
58dc32:	03 c1                	add    %ecx,%eax
58dc34:	50                   	push   %eax
58dc35:	e8 96 51 04 00       	call   0x5d2dd0
58dc3a:	8b 46 7c             	mov    0x7c(%esi),%eax
58dc3d:	68 16 12 00 00       	push   $0x1216
58dc42:	68 08 6f 66 00       	push   $0x666f08
58dc47:	ff 74 24 2c          	push   0x2c(%esp)
58dc4b:	ff b0 58 02 00 00    	push   0x258(%eax)
58dc51:	e8 ea 2b f5 ff       	call   0x4e0840
58dc56:	8b 46 7c             	mov    0x7c(%esi),%eax
58dc59:	c7 80 58 02 00 00 00 	movl   $0x0,0x258(%eax)
58dc60:	00 00 00
58dc63:	8b 46 04             	mov    0x4(%esi),%eax
58dc66:	8b 8e 74 04 00 00    	mov    0x474(%esi),%ecx
58dc6c:	8b 50 64             	mov    0x64(%eax),%edx
58dc6f:	8d 41 04             	lea    0x4(%ecx),%eax
58dc72:	50                   	push   %eax
58dc73:	8b 44 24 38          	mov    0x38(%esp),%eax
58dc77:	83 c0 04             	add    $0x4,%eax
58dc7a:	03 c3                	add    %ebx,%eax
58dc7c:	50                   	push   %eax
58dc7d:	8d 41 48             	lea    0x48(%ecx),%eax
58dc80:	57                   	push   %edi
58dc81:	50                   	push   %eax
58dc82:	8b 42 0c             	mov    0xc(%edx),%eax
58dc85:	56                   	push   %esi
58dc86:	ff d0                	call   *%eax
58dc88:	83 c4 30             	add    $0x30,%esp
58dc8b:	85 c0                	test   %eax,%eax
58dc8d:	8b 44 24 18          	mov    0x18(%esp),%eax
58dc91:	75 3c                	jne    0x58dccf
58dc93:	68 1b 12 00 00       	push   $0x121b
58dc98:	83 c0 04             	add    $0x4,%eax
58dc9b:	68 08 6f 66 00       	push   $0x666f08
58dca0:	03 c3                	add    %ebx,%eax
58dca2:	50                   	push   %eax
58dca3:	57                   	push   %edi
58dca4:	e8 97 2b f5 ff       	call   0x4e0840
58dca9:	83 c4 10             	add    $0x10,%esp
58dcac:	33 ff                	xor    %edi,%edi
58dcae:	85 ed                	test   %ebp,%ebp
58dcb0:	74 71                	je     0x58dd23
58dcb2:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
58dcb7:	74 60                	je     0x58dd19