58e776:	83 cd ff             	or     $0xffffffff,%ebp
58e779:	ff b6 20 06 00 00    	push   0x620(%esi)
58e77f:	ff b6 30 06 00 00    	push   0x630(%esi)
58e785:	e8 66 8e 06 00       	call   0x5f75f0
58e78a:	83 c4 08             	add    $0x8,%esp
58e78d:	85 c0                	test   %eax,%eax
58e78f:	0f 84 b3 00 00 00    	je     0x58e848
58e795:	ff b6 20 06 00 00    	push   0x620(%esi)
58e79b:	ff b6 2c 06 00 00    	push   0x62c(%esi)
58e7a1:	ff b6 30 06 00 00    	push   0x630(%esi)
58e7a7:	e8 44 8c 06 00       	call   0x5f73f0
58e7ac:	8b d8                	mov    %eax,%ebx
58e7ae:	83 c4 0c             	add    $0xc,%esp
58e7b1:	85 db                	test   %ebx,%ebx
58e7b3:	0f 84 8f 00 00 00    	je     0x58e848
58e7b9:	ff b6 20 06 00 00    	push   0x620(%esi)
58e7bf:	ff b6 38 06 00 00    	push   0x638(%esi)
58e7c5:	53                   	push   %ebx
58e7c6:	ff b6 3c 06 00 00    	push   0x63c(%esi)
58e7cc:	ff b6 30 06 00 00    	push   0x630(%esi)
58e7d2:	e8 49 8b 06 00       	call   0x5f7320
58e7d7:	8b f8                	mov    %eax,%edi
58e7d9:	83 c4 14             	add    $0x14,%esp
58e7dc:	85 ff                	test   %edi,%edi
58e7de:	74 68                	je     0x58e848
58e7e0:	57                   	push   %edi
58e7e1:	e8 3a b6 f4 ff       	call   0x4d9e20
58e7e6:	83 c0 07             	add    $0x7,%eax
58e7e9:	99                   	cltd
58e7ea:	83 e2 07             	and    $0x7,%edx
58e7ed:	03 c2                	add    %edx,%eax
58e7ef:	68 08 01 00 00       	push   $0x108
58e7f4:	c1 f8 03             	sar    $0x3,%eax
58e7f7:	68 18 6f 66 00       	push   $0x666f18
58e7fc:	50                   	push   %eax
58e7fd:	89 44 24 28          	mov    %eax,0x28(%esp)
58e801:	e8 4a 1f f5 ff       	call   0x4e0750
58e806:	83 c4 10             	add    $0x10,%esp
58e809:	89 44 24 10          	mov    %eax,0x10(%esp)
58e80d:	85 c0                	test   %eax,%eax
58e80f:	75 1b                	jne    0x58e82c
58e811:	68 0a 01 00 00       	push   $0x10a
58e816:	68 18 6f 66 00       	push   $0x666f18
58e81b:	6a 41                	push   $0x41
58e81d:	68 4d 02 00 00       	push   $0x24d
58e822:	6a 50                	push   $0x50
58e824:	56                   	push   %esi
58e825:	e8 e6 08 00 00       	call   0x58f110
58e82a:	eb 19                	jmp    0x58e845
58e82c:	50                   	push   %eax
58e82d:	57                   	push   %edi
58e82e:	e8 cd af f4 ff       	call   0x4d9800
58e833:	6a 01                	push   $0x1
58e835:	ff 74 24 24          	push   0x24(%esp)
58e839:	ff 74 24 20          	push   0x20(%esp)
58e83d:	56                   	push   %esi
58e83e:	e8 3d f3 ff ff       	call   0x58db80
58e843:	8b e8                	mov    %eax,%ebp
58e845:	83 c4 18             	add    $0x18,%esp
58e848:	57                   	push   %edi
58e849:	e8 52 b0 f4 ff       	call   0x4d98a0
58e84e:	53                   	push   %ebx
58e84f:	e8 4c b0 f4 ff       	call   0x4d98a0
58e854:	83 c4 08             	add    $0x8,%esp
58e857:	8b c5                	mov    %ebp,%eax
58e859:	5f                   	pop    %edi
58e85a:	5e                   	pop    %esi
58e85b:	5d                   	pop    %ebp
58e85c:	5b                   	pop    %ebx
58e85d:	59                   	pop    %ecx
58e85e:	c3                   	ret
58e85f:	cc                   	int3
58e860:	56                   	push   %esi
58e861:	8b 74 24 08          	mov    0x8(%esp),%esi
58e865:	ff b6 20 06 00 00    	push   0x620(%esi)
58e86b:	ff b6 24 06 00 00    	push   0x624(%esi)
58e871:	e8 ca b8 f4 ff       	call   0x4da140
58e876:	83 c4 08             	add    $0x8,%esp
58e879:	85 c0                	test   %eax,%eax
58e87b:	0f 89 ce 00 00 00    	jns    0x58e94f
58e881:	ff b6 20 06 00 00    	push   0x620(%esi)
58e887:	ff b6 2c 06 00 00    	push   0x62c(%esi)
58e88d:	e8 ae b8 f4 ff       	call   0x4da140
58e892:	83 c4 08             	add    $0x8,%esp
58e895:	85 c0                	test   %eax,%eax
58e897:	0f 89 b2 00 00 00    	jns    0x58e94f
58e89d:	ff b6 2c 06 00 00    	push   0x62c(%esi)
58e8a3:	e8 b8 b4 f4 ff       	call   0x4d9d60
58e8a8:	83 c4 04             	add    $0x4,%esp
58e8ab:	85 c0                	test   %eax,%eax
58e8ad:	0f 85 9c 00 00 00    	jne    0x58e94f
58e8b3:	ff b6 20 06 00 00    	push   0x620(%esi)
58e8b9:	e8 62 b5 f4 ff       	call   0x4d9e20
58e8be:	83 c4 04             	add    $0x4,%esp
58e8c1:	3b 86 44 06 00 00    	cmp    0x644(%esi),%eax
58e8c7:	7d 23                	jge    0x58e8ec
58e8c9:	68 5c 01 00 00       	push   $0x15c
58e8ce:	68 18 6f 66 00       	push   $0x666f18
58e8d3:	68 f1 00 00 00       	push   $0xf1
58e8d8:	68 54 02 00 00       	push   $0x254
58e8dd:	6a 47                	push   $0x47
58e8df:	56                   	push   %esi
58e8e0:	e8 2b 08 00 00       	call   0x58f110
58e8e5:	83 c4 18             	add    $0x18,%esp
58e8e8:	33 c0                	xor    %eax,%eax
58e8ea:	5e                   	pop    %esi
58e8eb:	c3                   	ret
58e8ec:	8b 86 14 06 00 00    	mov    0x614(%esi),%eax
58e8f2:	85 c0                	test   %eax,%eax
58e8f4:	74 33                	je     0x58e929
58e8f6:	ff b6 0c 06 00 00    	push   0x60c(%esi)
58e8fc:	56                   	push   %esi
58e8fd:	ff d0                	call   *%eax
58e8ff:	83 c4 08             	add    $0x8,%esp
58e902:	85 c0                	test   %eax,%eax
58e904:	7f 42                	jg     0x58e948
58e906:	68 64 01 00 00       	push   $0x164
58e90b:	68 18 6f 66 00       	push   $0x666f18
58e910:	68 ea 00 00 00       	push   $0xea
58e915:	68 54 02 00 00       	push   $0x254
58e91a:	6a 47                	push   $0x47
58e91c:	56                   	push   %esi
58e91d:	e8 ee 07 00 00       	call   0x58f110
58e922:	83 c4 18             	add    $0x18,%esp
58e925:	33 c0                	xor    %eax,%eax
58e927:	5e                   	pop    %esi
58e928:	c3                   	ret
58e929:	ff b6 20 06 00 00    	push   0x620(%esi)
58e92f:	ff b6 24 06 00 00    	push   0x624(%esi)
58e935:	e8 96 8d 06 00       	call   0x5f76d0
58e93a:	83 c4 08             	add    $0x8,%esp
58e93d:	85 c0                	test   %eax,%eax
58e93f:	75 07                	jne    0x58e948
58e941:	68 69 01 00 00       	push   $0x169
58e946:	eb 86                	jmp    0x58e8ce
58e948:	b8 01 00 00 00       	mov    $0x1,%eax
58e94d:	5e                   	pop    %esi
58e94e:	c3                   	ret
58e94f:	68 56 01 00 00       	push   $0x156
58e954:	68 18 6f 66 00       	push   $0x666f18
58e959:	68 86 01 00 00       	push   $0x186
58e95e:	68 54 02 00 00       	push   $0x254
58e963:	6a 2f                	push   $0x2f
58e965:	56                   	push   %esi
58e966:	e8 a5 07 00 00       	call   0x58f110
58e96b:	83 c4 18             	add    $0x18,%esp
58e96e:	33 c0                	xor    %eax,%eax
58e970:	5e                   	pop    %esi
58e971:	c3                   	ret
58e972:	cc                   	int3
58e973:	cc                   	int3
58e974:	cc                   	int3
58e975:	cc                   	int3
58e976:	cc                   	int3
58e977:	cc                   	int3
58e978:	cc                   	int3
58e979:	cc                   	int3
58e97a:	cc                   	int3
58e97b:	cc                   	int3
58e97c:	cc                   	int3
58e97d:	cc                   	int3
58e97e:	cc                   	int3
58e97f:	cc                   	int3
58e980:	ff 74 24 20          	push   0x20(%esp)
58e984:	ff 74 24 20          	push   0x20(%esp)
58e988:	ff 74 24 20          	push   0x20(%esp)
58e98c:	ff 74 24 20          	push   0x20(%esp)
58e990:	ff 74 24 20          	push   0x20(%esp)
58e994:	ff 74 24 20          	push   0x20(%esp)
58e998:	ff 74 24 20          	push   0x20(%esp)
58e99c:	6a 02                	push   $0x2
58e99e:	ff 74 24 24          	push   0x24(%esp)
58e9a2:	e8 39 00 00 00       	call   0x58e9e0
58e9a7:	83 c4 24             	add    $0x24,%esp
58e9aa:	c3                   	ret
58e9ab:	cc                   	int3
58e9ac:	cc                   	int3
58e9ad:	cc                   	int3
58e9ae:	cc                   	int3
58e9af:	cc                   	int3
58e9b0:	ff 74 24 1c          	push   0x1c(%esp)
58e9b4:	ff 74 24 1c          	push   0x1c(%esp)
58e9b8:	ff 74 24 1c          	push   0x1c(%esp)
58e9bc:	ff 74 24 1c          	push   0x1c(%esp)
58e9c0:	ff 74 24 1c          	push   0x1c(%esp)
58e9c4:	68 d0 01 00 00       	push   $0x1d0
58e9c9:	ff 74 24 20          	push   0x20(%esp)
58e9cd:	6a 01                	push   $0x1
58e9cf:	ff 74 24 24          	push   0x24(%esp)
58e9d3:	e8 58 01 00 00       	call   0x58eb30
58e9d8:	83 c4 24             	add    $0x24,%esp
58e9db:	c3                   	ret
58e9dc:	cc                   	int3
58e9dd:	cc                   	int3
58e9de:	cc                   	int3
58e9df:	cc                   	int3
58e9e0:	8b 44 24 04          	mov    0x4(%esp),%eax
58e9e4:	53                   	push   %ebx
58e9e5:	55                   	push   %ebp
58e9e6:	8b 6c 24 20          	mov    0x20(%esp),%ebp
58e9ea:	56                   	push   %esi
58e9eb:	57                   	push   %edi
58e9ec:	8b b8 c0 00 00 00    	mov    0xc0(%eax),%edi
58e9f2:	81 c7 f0 00 00 00    	add    $0xf0,%edi
58e9f8:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
58e9fd:	75 04                	jne    0x58ea03
58e9ff:	85 ed                	test   %ebp,%ebp
58ea01:	75 22                	jne    0x58ea25
58ea03:	8b 74 24 1c          	mov    0x1c(%esp),%esi
58ea07:	8b 4c 24 20          	mov    0x20(%esp),%ecx
58ea0b:	89 4c 24 14          	mov    %ecx,0x14(%esp)
58ea0f:	83 fe 12             	cmp    $0x12,%esi
58ea12:	75 18                	jne    0x58ea2c
58ea14:	84 c9                	test   %cl,%cl
58ea16:	79 41                	jns    0x58ea59
58ea18:	50                   	push   %eax
58ea19:	e8 f2 9d ff ff       	call   0x588810
58ea1e:	83 c4 04             	add    $0x4,%esp
58ea21:	85 c0                	test   %eax,%eax
58ea23:	74 34                	je     0x58ea59
58ea25:	5f                   	pop    %edi
58ea26:	5e                   	pop    %esi
58ea27:	5d                   	pop    %ebp
58ea28:	33 c0                	xor    %eax,%eax
58ea2a:	5b                   	pop    %ebx
58ea2b:	c3                   	ret
58ea2c:	81 fe 74 33 00 00    	cmp    $0x3374,%esi
58ea32:	77 15                	ja     0x58ea49
58ea34:	74 ef                	je     0x58ea25
58ea36:	83 fe 33             	cmp    $0x33,%esi
58ea39:	77 1e                	ja     0x58ea59
58ea3b:	0f b6 86 f0 ea 58 00 	movzbl 0x58eaf0(%esi),%eax
58ea42:	ff 24 85 e8 ea 58 00 	jmp    *0x58eae8(,%eax,4)
58ea49:	81 fe 01 ff 00 00    	cmp    $0xff01,%esi
58ea4f:	74 d4                	je     0x58ea25
58ea51:	81 fe ff ff 00 00    	cmp    $0xffff,%esi
58ea57:	77 cc                	ja     0x58ea25
58ea59:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58ea5d:	6a 00                	push   $0x0
58ea5f:	56                   	push   %esi
58ea60:	53                   	push   %ebx
58ea61:	57                   	push   %edi
58ea62:	e8 e9 03 00 00       	call   0x58ee50
58ea67:	83 c4 10             	add    $0x10,%esp
58ea6a:	85 c0                	test   %eax,%eax
58ea6c:	75 b7                	jne    0x58ea25
58ea6e:	8b 47 04             	mov    0x4(%edi),%eax
58ea71:	40                   	inc    %eax
58ea72:	68 84 01 00 00       	push   $0x184
58ea77:	68 28 6f 66 00       	push   $0x666f28
58ea7c:	8d 04 c0             	lea    (%eax,%eax,8),%eax
58ea7f:	c1 e0 02             	shl    $0x2,%eax
58ea82:	50                   	push   %eax
58ea83:	ff 37                	push   (%edi)
58ea85:	e8 16 1d f5 ff       	call   0x4e07a0
58ea8a:	8b d0                	mov    %eax,%edx
58ea8c:	83 c4 10             	add    $0x10,%esp
58ea8f:	85 d2                	test   %edx,%edx
58ea91:	74 92                	je     0x58ea25
58ea93:	8b 4f 04             	mov    0x4(%edi),%ecx
58ea96:	33 c0                	xor    %eax,%eax
58ea98:	89 17                	mov    %edx,(%edi)
58ea9a:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
58ea9d:	66 89 44 8a 02       	mov    %ax,0x2(%edx,%ecx,4)
58eaa2:	89 44 8a 0c          	mov    %eax,0xc(%edx,%ecx,4)
58eaa6:	8b 44 24 14          	mov    0x14(%esp),%eax
58eaaa:	89 44 8a 08          	mov    %eax,0x8(%edx,%ecx,4)
58eaae:	8b 44 24 30          	mov    0x30(%esp),%eax
58eab2:	89 44 8a 1c          	mov    %eax,0x1c(%edx,%ecx,4)
58eab6:	8b 44 24 24          	mov    0x24(%esp),%eax
58eaba:	89 44 8a 10          	mov    %eax,0x10(%edx,%ecx,4)
58eabe:	8b 44 24 2c          	mov    0x2c(%esp),%eax
58eac2:	89 44 8a 18          	mov    %eax,0x18(%edx,%ecx,4)
58eac6:	8b 44 24 34          	mov    0x34(%esp),%eax
58eaca:	89 5c 8a 04          	mov    %ebx,0x4(%edx,%ecx,4)
58eace:	89 6c 8a 14          	mov    %ebp,0x14(%edx,%ecx,4)
58ead2:	66 89 34 8a          	mov    %si,(%edx,%ecx,4)
58ead6:	89 44 8a 20          	mov    %eax,0x20(%edx,%ecx,4)
58eada:	b8 01 00 00 00       	mov    $0x1,%eax
58eadf:	ff 47 04             	incl   0x4(%edi)
58eae2:	5f                   	pop    %edi
58eae3:	5e                   	pop    %esi
58eae4:	5d                   	pop    %ebp
58eae5:	5b                   	pop    %ebx
58eae6:	c3                   	ret
58eae7:	90                   	nop
58eae8:	25 ea 58 00 59       	and    $0x590058ea,%eax
58eaed:	ea 58 00 00 00 01 01 	ljmp   $0x101,$0x58
58eaf4:	01 00                	add    %eax,(%eax)
58eaf6:	01 01                	add    %eax,(%ecx)
58eaf8:	01 01                	add    %eax,(%ecx)
58eafa:	00 00                	add    %al,(%eax)
58eafc:	00 00                	add    %al,(%eax)
58eafe:	00 01                	add    %al,(%ecx)
58eb00:	00 01                	add    %al,(%ecx)
58eb02:	00 01                	add    %al,(%ecx)
58eb04:	01 00                	add    %eax,(%eax)
58eb06:	00 00                	add    %al,(%eax)
58eb08:	01 01                	add    %eax,(%ecx)
58eb0a:	01 01                	add    %eax,(%ecx)
58eb0c:	01 01                	add    %eax,(%ecx)
58eb0e:	01 01                	add    %eax,(%ecx)
58eb10:	01 01                	add    %eax,(%ecx)
58eb12:	01 00                	add    %eax,(%eax)
58eb14:	01 01                	add    %eax,(%ecx)
58eb16:	01 01                	add    %eax,(%ecx)
58eb18:	01 00                	add    %eax,(%eax)
58eb1a:	00 00                	add    %al,(%eax)
58eb1c:	00 00                	add    %al,(%eax)
58eb1e:	01 00                	add    %eax,(%eax)
58eb20:	01 00                	add    %eax,(%eax)
58eb22:	01 00                	add    %eax,(%eax)
58eb24:	cc                   	int3
58eb25:	cc                   	int3
58eb26:	cc                   	int3
58eb27:	cc                   	int3
58eb28:	cc                   	int3
58eb29:	cc                   	int3
58eb2a:	cc                   	int3
58eb2b:	cc                   	int3
58eb2c:	cc                   	int3
58eb2d:	cc                   	int3
58eb2e:	cc                   	int3
58eb2f:	cc                   	int3
58eb30:	56                   	push   %esi
58eb31:	57                   	push   %edi
58eb32:	68 a0 01 00 00       	push   $0x1a0
58eb37:	68 28 6f 66 00       	push   $0x666f28
58eb3c:	6a 0c                	push   $0xc
58eb3e:	e8 0d 1c f5 ff       	call   0x4e0750
58eb43:	68 a2 01 00 00       	push   $0x1a2
58eb48:	68 28 6f 66 00       	push   $0x666f28
58eb4d:	6a 08                	push   $0x8
58eb4f:	8b f0                	mov    %eax,%esi
58eb51:	e8 fa 1b f5 ff       	call   0x4e0750
58eb56:	83 c4 18             	add    $0x18,%esp
58eb59:	8b f8                	mov    %eax,%edi
58eb5b:	85 f6                	test   %esi,%esi
58eb5d:	74 7e                	je     0x58ebdd
58eb5f:	85 ff                	test   %edi,%edi
58eb61:	74 7a                	je     0x58ebdd
58eb63:	8b 4c 24 24          	mov    0x24(%esp),%ecx
58eb67:	8b 44 24 20          	mov    0x20(%esp),%eax
58eb6b:	53                   	push   %ebx
58eb6c:	57                   	push   %edi
58eb6d:	68 20 ee 58 00       	push   $0x58ee20
58eb72:	56                   	push   %esi
58eb73:	68 b0 ee 58 00       	push   $0x58eeb0
58eb78:	68 20 ee 58 00       	push   $0x58ee20
58eb7d:	ff 74 24 30          	push   0x30(%esp)