42bb32:	89 4d 90             	mov    %ecx,-0x70(%ebp)
42bb35:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
42bb38:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42bb3b:	89 4d a2             	mov    %ecx,-0x5e(%ebp)
42bb3e:	89 4d a6             	mov    %ecx,-0x5a(%ebp)
42bb41:	89 4d aa             	mov    %ecx,-0x56(%ebp)
42bb44:	89 4d ae             	mov    %ecx,-0x52(%ebp)
42bb47:	89 4d b2             	mov    %ecx,-0x4e(%ebp)
42bb4a:	89 4d b6             	mov    %ecx,-0x4a(%ebp)
42bb4d:	89 4d ba             	mov    %ecx,-0x46(%ebp)
42bb50:	89 4d be             	mov    %ecx,-0x42(%ebp)
42bb53:	8d 7d c2             	lea    -0x3e(%ebp),%edi
42bb56:	ab                   	stos   %eax,%es:(%edi)
42bb57:	ab                   	stos   %eax,%es:(%edi)
42bb58:	ab                   	stos   %eax,%es:(%edi)
42bb59:	66 ab                	stos   %ax,%es:(%edi)
42bb5b:	33 c0                	xor    %eax,%eax
42bb5d:	89 4d d0             	mov    %ecx,-0x30(%ebp)
42bb60:	8d 7d ec             	lea    -0x14(%ebp),%edi
42bb63:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
42bb66:	89 4d d8             	mov    %ecx,-0x28(%ebp)
42bb69:	88 4d dc             	mov    %cl,-0x24(%ebp)
42bb6c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42bb6f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42bb72:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42bb75:	ab                   	stos   %eax,%es:(%edi)
42bb76:	ab                   	stos   %eax,%es:(%edi)
42bb77:	ab                   	stos   %eax,%es:(%edi)
42bb78:	e8 7b 05 00 00       	call   0x42c0f8
42bb7d:	6a 2c                	push   $0x2c
42bb7f:	59                   	pop    %ecx
42bb80:	e8 4b 21 fe ff       	call   0x40dcd0
42bb85:	8b f8                	mov    %eax,%edi
42bb87:	85 ff                	test   %edi,%edi
42bb89:	75 12                	jne    0x42bb9d
42bb8b:	e8 92 dd ff ff       	call   0x429922
42bb90:	6a 01                	push   $0x1
42bb92:	68 30 0a 44 00       	push   $0x440a30
42bb97:	ff 15 30 a4 44 00    	call   *0x44a430
42bb9d:	8b 75 08             	mov    0x8(%ebp),%esi
42bba0:	8d 55 88             	lea    -0x78(%ebp),%edx
42bba3:	f7 de                	neg    %esi
42bba5:	c7 47 08 00 08 00 00 	movl   $0x800,0x8(%edi)
42bbac:	8b cb                	mov    %ebx,%ecx
42bbae:	1b f6                	sbb    %esi,%esi
42bbb0:	83 e6 10             	and    $0x10,%esi
42bbb3:	e8 8c d5 fd ff       	call   0x409144
42bbb8:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
42bbbb:	85 c9                	test   %ecx,%ecx
42bbbd:	0f 84 f5 02 00 00    	je     0x42beb8
42bbc3:	e8 64 c4 fd ff       	call   0x40802c
42bbc8:	83 f8 01             	cmp    $0x1,%eax
42bbcb:	0f 84 e7 02 00 00    	je     0x42beb8
42bbd1:	8d 45 80             	lea    -0x80(%ebp),%eax
42bbd4:	32 d2                	xor    %dl,%dl
42bbd6:	50                   	push   %eax
42bbd7:	6a 01                	push   $0x1
42bbd9:	8d 4d 88             	lea    -0x78(%ebp),%ecx
42bbdc:	e8 53 be fd ff       	call   0x407a34
42bbe1:	83 f8 01             	cmp    $0x1,%eax
42bbe4:	0f 84 ce 02 00 00    	je     0x42beb8
42bbea:	33 c0                	xor    %eax,%eax
42bbec:	8b d7                	mov    %edi,%edx
42bbee:	50                   	push   %eax
42bbef:	50                   	push   %eax
42bbf0:	50                   	push   %eax
42bbf1:	51                   	push   %ecx
42bbf2:	50                   	push   %eax
42bbf3:	50                   	push   %eax
42bbf4:	56                   	push   %esi
42bbf5:	56                   	push   %esi
42bbf6:	8b 75 80             	mov    -0x80(%ebp),%esi
42bbf9:	8b ce                	mov    %esi,%ecx
42bbfb:	e8 13 a9 fd ff       	call   0x406513
42bc00:	85 c0                	test   %eax,%eax
42bc02:	0f 85 b0 02 00 00    	jne    0x42beb8
42bc08:	39 46 14             	cmp    %eax,0x14(%esi)
42bc0b:	74 16                	je     0x42bc23
42bc0d:	68 c0 a2 42 00       	push   $0x42a2c0
42bc12:	6a 04                	push   $0x4
42bc14:	ff 76 14             	push   0x14(%esi)
42bc17:	ff 76 1c             	push   0x1c(%esi)
42bc1a:	ff 15 f4 a3 44 00    	call   *0x44a3f4
42bc20:	83 c4 10             	add    $0x10,%esp
42bc23:	6a 22                	push   $0x22
42bc25:	59                   	pop    %ecx
42bc26:	33 c0                	xor    %eax,%eax
42bc28:	8b f3                	mov    %ebx,%esi
42bc2a:	6a 02                	push   $0x2
42bc2c:	88 45 87             	mov    %al,-0x79(%ebp)
42bc2f:	8b f8                	mov    %eax,%edi
42bc31:	5a                   	pop    %edx
42bc32:	0f b7 06             	movzwl (%esi),%eax
42bc35:	66 85 c0             	test   %ax,%ax
42bc38:	74 63                	je     0x42bc9d
42bc3a:	66 3b c1             	cmp    %cx,%ax
42bc3d:	75 2a                	jne    0x42bc69
42bc3f:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
42bc45:	03 fa                	add    %edx,%edi
42bc47:	8b c7                	mov    %edi,%eax
42bc49:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
42bc4d:	d1 f8                	sar    $1,%eax
42bc4f:	03 f2                	add    %edx,%esi
42bc51:	3b c8                	cmp    %eax,%ecx
42bc53:	7c 07                	jl     0x42bc5c
42bc55:	49                   	dec    %ecx
42bc56:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
42bc5c:	6a 22                	push   $0x22
42bc5e:	59                   	pop    %ecx
42bc5f:	66 39 0e             	cmp    %cx,(%esi)
42bc62:	75 2d                	jne    0x42bc91
42bc64:	66 89 0b             	mov    %cx,(%ebx)
42bc67:	eb 22                	jmp    0x42bc8b
42bc69:	50                   	push   %eax
42bc6a:	68 14 41 40 00       	push   $0x404114
42bc6f:	ff 15 b0 a3 44 00    	call   *0x44a3b0
42bc75:	59                   	pop    %ecx
42bc76:	59                   	pop    %ecx
42bc77:	85 c0                	test   %eax,%eax
42bc79:	74 04                	je     0x42bc7f
42bc7b:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
42bc7f:	66 8b 06             	mov    (%esi),%ax
42bc82:	6a 02                	push   $0x2
42bc84:	5a                   	pop    %edx
42bc85:	6a 22                	push   $0x22
42bc87:	66 89 03             	mov    %ax,(%ebx)
42bc8a:	59                   	pop    %ecx
42bc8b:	03 da                	add    %edx,%ebx
42bc8d:	03 f2                	add    %edx,%esi
42bc8f:	03 fa                	add    %edx,%edi
42bc91:	8b c7                	mov    %edi,%eax
42bc93:	83 e0 fe             	and    $0xfffffffe,%eax
42bc96:	3d 00 40 00 00       	cmp    $0x4000,%eax
42bc9b:	7c 95                	jl     0x42bc32
42bc9d:	33 c0                	xor    %eax,%eax
42bc9f:	66 89 03             	mov    %ax,(%ebx)
42bca2:	8b 5d 80             	mov    -0x80(%ebp),%ebx
42bca5:	8b 73 14             	mov    0x14(%ebx),%esi
42bca8:	56                   	push   %esi
42bca9:	6a 04                	push   $0x4
42bcab:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
42bcb1:	ff 15 54 a3 44 00    	call   *0x44a354
42bcb7:	a3 34 95 44 00       	mov    %eax,0x449534
42bcbc:	59                   	pop    %ecx
42bcbd:	59                   	pop    %ecx
42bcbe:	85 c0                	test   %eax,%eax
42bcc0:	0f 84 f2 01 00 00    	je     0x42beb8
42bcc6:	33 c0                	xor    %eax,%eax
42bcc8:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
42bcce:	8b f8                	mov    %eax,%edi
42bcd0:	89 7d 80             	mov    %edi,-0x80(%ebp)
42bcd3:	85 f6                	test   %esi,%esi
42bcd5:	0f 8e ac 01 00 00    	jle    0x42be87
42bcdb:	8b 43 1c             	mov    0x1c(%ebx),%eax
42bcde:	ba 34 24 40 00       	mov    $0x402434,%edx
42bce3:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
42bce6:	83 c1 30             	add    $0x30,%ecx
42bce9:	8b c1                	mov    %ecx,%eax
42bceb:	66 8b 30             	mov    (%eax),%si
42bcee:	66 3b 32             	cmp    (%edx),%si
42bcf1:	75 1e                	jne    0x42bd11
42bcf3:	66 85 f6             	test   %si,%si
42bcf6:	74 15                	je     0x42bd0d
42bcf8:	66 8b 70 02          	mov    0x2(%eax),%si
42bcfc:	66 3b 72 02          	cmp    0x2(%edx),%si
42bd00:	75 0f                	jne    0x42bd11
42bd02:	83 c0 04             	add    $0x4,%eax
42bd05:	83 c2 04             	add    $0x4,%edx
42bd08:	66 85 f6             	test   %si,%si
42bd0b:	75 de                	jne    0x42bceb
42bd0d:	33 c0                	xor    %eax,%eax
42bd0f:	eb 05                	jmp    0x42bd16
42bd11:	1b c0                	sbb    %eax,%eax
42bd13:	83 c8 01             	or     $0x1,%eax
42bd16:	85 c0                	test   %eax,%eax
42bd18:	0f 84 59 01 00 00    	je     0x42be77
42bd1e:	ba 10 25 40 00       	mov    $0x402510,%edx
42bd23:	8b c1                	mov    %ecx,%eax
42bd25:	66 8b 30             	mov    (%eax),%si
42bd28:	66 3b 32             	cmp    (%edx),%si
42bd2b:	75 20                	jne    0x42bd4d
42bd2d:	66 85 f6             	test   %si,%si
42bd30:	74 15                	je     0x42bd47
42bd32:	66 8b 70 02          	mov    0x2(%eax),%si
42bd36:	66 3b 72 02          	cmp    0x2(%edx),%si
42bd3a:	75 11                	jne    0x42bd4d
42bd3c:	83 c0 04             	add    $0x4,%eax
42bd3f:	83 c2 04             	add    $0x4,%edx
42bd42:	66 85 f6             	test   %si,%si
42bd45:	75 de                	jne    0x42bd25
42bd47:	33 f6                	xor    %esi,%esi
42bd49:	8b c6                	mov    %esi,%eax
42bd4b:	eb 07                	jmp    0x42bd54
42bd4d:	1b c0                	sbb    %eax,%eax
42bd4f:	83 c8 01             	or     $0x1,%eax
42bd52:	33 f6                	xor    %esi,%esi
42bd54:	85 c0                	test   %eax,%eax
42bd56:	0f 84 1b 01 00 00    	je     0x42be77
42bd5c:	8d 51 02             	lea    0x2(%ecx),%edx
42bd5f:	66 8b 01             	mov    (%ecx),%ax
42bd62:	83 c1 02             	add    $0x2,%ecx
42bd65:	66 3b c6             	cmp    %si,%ax
42bd68:	75 f5                	jne    0x42bd5f
42bd6a:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
42bd70:	2b ca                	sub    %edx,%ecx
42bd72:	d1 f9                	sar    $1,%ecx
42bd74:	6a 02                	push   $0x2
42bd76:	89 8d 6c ff ff ff    	mov    %ecx,-0x94(%ebp)
42bd7c:	8d 46 04             	lea    0x4(%esi),%eax
42bd7f:	03 c1                	add    %ecx,%eax
42bd81:	50                   	push   %eax
42bd82:	ff 15 54 a3 44 00    	call   *0x44a354
42bd88:	8b 15 34 95 44 00    	mov    0x449534,%edx
42bd8e:	59                   	pop    %ecx
42bd8f:	59                   	pop    %ecx
42bd90:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
42bd96:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
42bd99:	85 c0                	test   %eax,%eax
42bd9b:	0f 84 d6 00 00 00    	je     0x42be77
42bda1:	8a 4d 87             	mov    -0x79(%ebp),%cl
42bda4:	84 c9                	test   %cl,%cl
42bda6:	0f 85 ff 00 00 00    	jne    0x42beab
42bdac:	8b 43 1c             	mov    0x1c(%ebx),%eax
42bdaf:	8b 34 b8             	mov    (%eax,%edi,4),%esi
42bdb2:	83 c6 30             	add    $0x30,%esi
42bdb5:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
42bdbb:	0f b7 06             	movzwl (%esi),%eax
42bdbe:	66 85 c0             	test   %ax,%ax
42bdc1:	74 34                	je     0x42bdf7
42bdc3:	8b c8                	mov    %eax,%ecx
42bdc5:	51                   	push   %ecx
42bdc6:	68 14 41 40 00       	push   $0x404114
42bdcb:	ff 15 b0 a3 44 00    	call   *0x44a3b0
42bdd1:	59                   	pop    %ecx
42bdd2:	59                   	pop    %ecx
42bdd3:	85 c0                	test   %eax,%eax
42bdd5:	74 04                	je     0x42bddb
42bdd7:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
42bddb:	83 c6 02             	add    $0x2,%esi
42bdde:	0f b7 06             	movzwl (%esi),%eax
42bde1:	8b c8                	mov    %eax,%ecx
42bde3:	66 85 c0             	test   %ax,%ax
42bde6:	75 dd                	jne    0x42bdc5
42bde8:	8a 4d 87             	mov    -0x79(%ebp),%cl
42bdeb:	8b 15 34 95 44 00    	mov    0x449534,%edx
42bdf1:	89 b5 74 ff ff ff    	mov    %esi,-0x8c(%ebp)
42bdf7:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
42bdfd:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
42be03:	8b 3c 82             	mov    (%edx,%eax,4),%edi
42be06:	84 c9                	test   %cl,%cl
42be08:	74 09                	je     0x42be13
42be0a:	6a 22                	push   $0x22
42be0c:	58                   	pop    %eax
42be0d:	66 89 07             	mov    %ax,(%edi)
42be10:	83 c7 02             	add    $0x2,%edi
42be13:	03 f6                	add    %esi,%esi
42be15:	56                   	push   %esi
42be16:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
42be1c:	57                   	push   %edi
42be1d:	e8 1a be fe ff       	call   0x417c3c
42be22:	8b 43 1c             	mov    0x1c(%ebx),%eax
42be25:	83 c4 0c             	add    $0xc,%esp
42be28:	8b 4d 80             	mov    -0x80(%ebp),%ecx
42be2b:	03 fe                	add    %esi,%edi
42be2d:	8b b5 6c ff ff ff    	mov    -0x94(%ebp),%esi
42be33:	03 f6                	add    %esi,%esi
42be35:	56                   	push   %esi
42be36:	8b 04 88             	mov    (%eax,%ecx,4),%eax
42be39:	83 c0 30             	add    $0x30,%eax
42be3c:	50                   	push   %eax
42be3d:	57                   	push   %edi
42be3e:	e8 f9 bd fe ff       	call   0x417c3c
42be43:	8a 4d 87             	mov    -0x79(%ebp),%cl
42be46:	83 c4 0c             	add    $0xc,%esp
42be49:	03 fe                	add    %esi,%edi
42be4b:	84 c9                	test   %cl,%cl
42be4d:	74 1a                	je     0x42be69
42be4f:	6a 22                	push   $0x22
42be51:	58                   	pop    %eax
42be52:	66 89 07             	mov    %ax,(%edi)
42be55:	83 c7 02             	add    $0x2,%edi
42be58:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
42be5f:	0f 95 c0             	setne  %al
42be62:	fe c8                	dec    %al
42be64:	22 c1                	and    %cl,%al
42be66:	88 45 87             	mov    %al,-0x79(%ebp)
42be69:	33 c0                	xor    %eax,%eax
42be6b:	ff 85 78 ff ff ff    	incl   -0x88(%ebp)
42be71:	66 89 07             	mov    %ax,(%edi)
42be74:	8b 7d 80             	mov    -0x80(%ebp),%edi
42be77:	47                   	inc    %edi
42be78:	89 7d 80             	mov    %edi,-0x80(%ebp)
42be7b:	3b bd 68 ff ff ff    	cmp    -0x98(%ebp),%edi
42be81:	0f 8c 54 fe ff ff    	jl     0x42bcdb
42be87:	8b 4b 18             	mov    0x18(%ebx),%ecx
42be8a:	e8 d1 1d fe ff       	call   0x40dc60
42be8f:	8b 4b 04             	mov    0x4(%ebx),%ecx
42be92:	e8 c9 1d fe ff       	call   0x40dc60
42be97:	8b cb                	mov    %ebx,%ecx
42be99:	e8 c2 1d fe ff       	call   0x40dc60
42be9e:	e8 c5 a5 fd ff       	call   0x406468
42bea3:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
42bea9:	eb 14                	jmp    0x42bebf
42beab:	33 c0                	xor    %eax,%eax
42bead:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
42beb3:	e9 45 ff ff ff       	jmp    0x42bdfd
42beb8:	e8 ab a5 fd ff       	call   0x406468
42bebd:	33 c0                	xor    %eax,%eax
42bebf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42bec2:	5f                   	pop    %edi
42bec3:	5e                   	pop    %esi
42bec4:	33 cd                	xor    %ebp,%ecx
42bec6:	5b                   	pop    %ebx
42bec7:	e8 64 ac fe ff       	call   0x416b30
42becc:	c9                   	leave
42becd:	c2 08 00             	ret    $0x8
42bed0:	6a 30                	push   $0x30
42bed2:	68 80 cd 42 00       	push   $0x42cd80
42bed7:	e8 cc b2 fe ff       	call   0x4171a8
42bedc:	89 55 c4             	mov    %edx,-0x3c(%ebp)
42bedf:	89 4d dc             	mov    %ecx,-0x24(%ebp)
42bee2:	b9 00 40 00 00       	mov    $0x4000,%ecx
42bee7:	e8 e4 1d fe ff       	call   0x40dcd0
42beec:	8b d8                	mov    %eax,%ebx
42beee:	89 5d c0             	mov    %ebx,-0x40(%ebp)
42bef1:	85 db                	test   %ebx,%ebx
42bef3:	0f 84 e2 01 00 00    	je     0x42c0db
42bef9:	33 f6                	xor    %esi,%esi
42befb:	89 75 fc             	mov    %esi,-0x4(%ebp)
42befe:	39 75 14             	cmp    %esi,0x14(%ebp)
42bf01:	75 20                	jne    0x42bf23
42bf03:	a1 24 67 43 00       	mov    0x436724,%eax
42bf08:	3b 45 10             	cmp    0x10(%ebp),%eax
42bf0b:	75 16                	jne    0x42bf23
42bf0d:	a1 2c 67 43 00       	mov    0x43672c,%eax
42bf12:	8b 0d 28 67 43 00    	mov    0x436728,%ecx
42bf18:	8b 3d 20 67 43 00    	mov    0x436720,%edi
42bf1e:	e9 3a 01 00 00       	jmp    0x42c05d
42bf23:	8b d6                	mov    %esi,%edx
42bf25:	89 55 d4             	mov    %edx,-0x2c(%ebp)
42bf28:	8b fe                	mov    %esi,%edi
42bf2a:	89 7d d8             	mov    %edi,-0x28(%ebp)
42bf2d:	83 c8 ff             	or     $0xffffffff,%eax
42bf30:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42bf33:	89 45 d0             	mov    %eax,-0x30(%ebp)
42bf36:	89 75 e0             	mov    %esi,-0x20(%ebp)
42bf39:	c7 45 cc 2a 00 00 00 	movl   $0x2a,-0x34(%ebp)
42bf40:	89 75 c8             	mov    %esi,-0x38(%ebp)
42bf43:	8b 4d 08             	mov    0x8(%ebp),%ecx
42bf46:	3b f1                	cmp    %ecx,%esi