43bc5c:	39 75 0c             	cmp    %esi,0xc(%ebp)
43bc5f:	73 13                	jae    0x43bc74
43bc61:	e8 d0 81 ff ff       	call   0x433e36
43bc66:	6a 22                	push   $0x22
43bc68:	5e                   	pop    %esi
43bc69:	89 30                	mov    %esi,(%eax)
43bc6b:	e8 0a 81 ff ff       	call   0x433d7a
43bc70:	8b c6                	mov    %esi,%eax
43bc72:	eb 03                	jmp    0x43bc77
43bc74:	6a 16                	push   $0x16
43bc76:	58                   	pop    %eax
43bc77:	5f                   	pop    %edi
43bc78:	5e                   	pop    %esi
43bc79:	5d                   	pop    %ebp
43bc7a:	c3                   	ret
43bc7b:	6a 10                	push   $0x10
43bc7d:	68 20 7f 46 00       	push   $0x467f20
43bc82:	e8 a9 2b ff ff       	call   0x42e830
43bc87:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43bc8b:	6a 08                	push   $0x8
43bc8d:	e8 a4 c9 ff ff       	call   0x438636
43bc92:	59                   	pop    %ecx
43bc93:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43bc97:	6a 03                	push   $0x3
43bc99:	5e                   	pop    %esi
43bc9a:	89 75 e0             	mov    %esi,-0x20(%ebp)
43bc9d:	3b 35 40 b1 46 00    	cmp    0x46b140,%esi
43bca3:	74 58                	je     0x43bcfd
43bca5:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcaa:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43bcad:	85 c0                	test   %eax,%eax
43bcaf:	74 49                	je     0x43bcfa
43bcb1:	8b 40 0c             	mov    0xc(%eax),%eax
43bcb4:	c1 e8 0d             	shr    $0xd,%eax
43bcb7:	a8 01                	test   $0x1,%al
43bcb9:	74 16                	je     0x43bcd1
43bcbb:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcc0:	ff 34 b0             	push   (%eax,%esi,4)
43bcc3:	e8 8b 16 00 00       	call   0x43d353
43bcc8:	59                   	pop    %ecx
43bcc9:	83 f8 ff             	cmp    $0xffffffff,%eax
43bccc:	74 03                	je     0x43bcd1
43bcce:	ff 45 e4             	incl   -0x1c(%ebp)
43bcd1:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcd6:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43bcd9:	83 c0 20             	add    $0x20,%eax
43bcdc:	50                   	push   %eax
43bcdd:	ff 15 8c b1 44 00    	call   *0x44b18c
43bce3:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bce8:	ff 34 b0             	push   (%eax,%esi,4)
43bceb:	e8 2a 94 ff ff       	call   0x43511a
43bcf0:	59                   	pop    %ecx
43bcf1:	a1 44 b1 46 00       	mov    0x46b144,%eax
43bcf6:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
43bcfa:	46                   	inc    %esi
43bcfb:	eb 9d                	jmp    0x43bc9a
43bcfd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43bd04:	e8 09 00 00 00       	call   0x43bd12
43bd09:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43bd0c:	e8 65 2b ff ff       	call   0x42e876
43bd11:	c3                   	ret
43bd12:	6a 08                	push   $0x8
43bd14:	e8 65 c9 ff ff       	call   0x43867e
43bd19:	59                   	pop    %ecx
43bd1a:	c3                   	ret
43bd1b:	8b ff                	mov    %edi,%edi
43bd1d:	55                   	push   %ebp
43bd1e:	8b ec                	mov    %esp,%ebp
43bd20:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bd23:	56                   	push   %esi
43bd24:	8d 71 0c             	lea    0xc(%ecx),%esi
43bd27:	8b 06                	mov    (%esi),%eax
43bd29:	24 03                	and    $0x3,%al
43bd2b:	3c 02                	cmp    $0x2,%al
43bd2d:	74 04                	je     0x43bd33
43bd2f:	33 c0                	xor    %eax,%eax
43bd31:	eb 4b                	jmp    0x43bd7e
43bd33:	8b 06                	mov    (%esi),%eax
43bd35:	a8 c0                	test   $0xc0,%al
43bd37:	74 f6                	je     0x43bd2f
43bd39:	8b 41 04             	mov    0x4(%ecx),%eax
43bd3c:	57                   	push   %edi
43bd3d:	8b 39                	mov    (%ecx),%edi
43bd3f:	2b f8                	sub    %eax,%edi
43bd41:	89 01                	mov    %eax,(%ecx)
43bd43:	83 61 08 00          	andl   $0x0,0x8(%ecx)
43bd47:	85 ff                	test   %edi,%edi
43bd49:	7e 30                	jle    0x43bd7b
43bd4b:	57                   	push   %edi
43bd4c:	50                   	push   %eax
43bd4d:	51                   	push   %ecx
43bd4e:	e8 ae b6 ff ff       	call   0x437401
43bd53:	59                   	pop    %ecx
43bd54:	50                   	push   %eax
43bd55:	e8 f3 11 00 00       	call   0x43cf4d
43bd5a:	83 c4 0c             	add    $0xc,%esp
43bd5d:	3b f8                	cmp    %eax,%edi
43bd5f:	74 0b                	je     0x43bd6c
43bd61:	6a 10                	push   $0x10
43bd63:	58                   	pop    %eax
43bd64:	f0 09 06             	lock or %eax,(%esi)
43bd67:	83 c8 ff             	or     $0xffffffff,%eax
43bd6a:	eb 11                	jmp    0x43bd7d
43bd6c:	8b 06                	mov    (%esi),%eax
43bd6e:	c1 e8 02             	shr    $0x2,%eax
43bd71:	a8 01                	test   $0x1,%al
43bd73:	74 06                	je     0x43bd7b
43bd75:	6a fd                	push   $0xfffffffd
43bd77:	58                   	pop    %eax
43bd78:	f0 21 06             	lock and %eax,(%esi)
43bd7b:	33 c0                	xor    %eax,%eax
43bd7d:	5f                   	pop    %edi
43bd7e:	5e                   	pop    %esi
43bd7f:	5d                   	pop    %ebp
43bd80:	c3                   	ret
43bd81:	8b ff                	mov    %edi,%edi
43bd83:	55                   	push   %ebp
43bd84:	8b ec                	mov    %esp,%ebp
43bd86:	56                   	push   %esi
43bd87:	8b 75 08             	mov    0x8(%ebp),%esi
43bd8a:	85 f6                	test   %esi,%esi
43bd8c:	75 09                	jne    0x43bd97
43bd8e:	56                   	push   %esi
43bd8f:	e8 3d 00 00 00       	call   0x43bdd1
43bd94:	59                   	pop    %ecx
43bd95:	eb 2e                	jmp    0x43bdc5
43bd97:	56                   	push   %esi
43bd98:	e8 7e ff ff ff       	call   0x43bd1b
43bd9d:	59                   	pop    %ecx
43bd9e:	85 c0                	test   %eax,%eax
43bda0:	74 05                	je     0x43bda7
43bda2:	83 c8 ff             	or     $0xffffffff,%eax
43bda5:	eb 1e                	jmp    0x43bdc5
43bda7:	8b 46 0c             	mov    0xc(%esi),%eax
43bdaa:	c1 e8 0b             	shr    $0xb,%eax
43bdad:	a8 01                	test   $0x1,%al
43bdaf:	74 12                	je     0x43bdc3
43bdb1:	56                   	push   %esi
43bdb2:	e8 4a b6 ff ff       	call   0x437401
43bdb7:	50                   	push   %eax
43bdb8:	e8 d6 16 00 00       	call   0x43d493
43bdbd:	59                   	pop    %ecx
43bdbe:	59                   	pop    %ecx
43bdbf:	85 c0                	test   %eax,%eax
43bdc1:	75 df                	jne    0x43bda2
43bdc3:	33 c0                	xor    %eax,%eax
43bdc5:	5e                   	pop    %esi
43bdc6:	5d                   	pop    %ebp
43bdc7:	c3                   	ret
43bdc8:	6a 01                	push   $0x1
43bdca:	e8 02 00 00 00       	call   0x43bdd1
43bdcf:	59                   	pop    %ecx
43bdd0:	c3                   	ret
43bdd1:	6a 1c                	push   $0x1c
43bdd3:	68 40 7f 46 00       	push   $0x467f40
43bdd8:	e8 53 2a ff ff       	call   0x42e830
43bddd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
43bde1:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
43bde5:	6a 08                	push   $0x8
43bde7:	e8 4a c8 ff ff       	call   0x438636
43bdec:	59                   	pop    %ecx
43bded:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43bdf1:	8b 35 44 b1 46 00    	mov    0x46b144,%esi
43bdf7:	a1 40 b1 46 00       	mov    0x46b140,%eax
43bdfc:	8d 04 86             	lea    (%esi,%eax,4),%eax
43bdff:	89 45 d4             	mov    %eax,-0x2c(%ebp)
43be02:	8b 5d 08             	mov    0x8(%ebp),%ebx
43be05:	89 75 e0             	mov    %esi,-0x20(%ebp)
43be08:	3b f0                	cmp    %eax,%esi
43be0a:	74 74                	je     0x43be80
43be0c:	8b 3e                	mov    (%esi),%edi
43be0e:	89 7d d8             	mov    %edi,-0x28(%ebp)
43be11:	85 ff                	test   %edi,%edi
43be13:	74 56                	je     0x43be6b
43be15:	57                   	push   %edi
43be16:	e8 20 b7 ff ff       	call   0x43753b
43be1b:	59                   	pop    %ecx
43be1c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43be23:	8b 47 0c             	mov    0xc(%edi),%eax
43be26:	c1 e8 0d             	shr    $0xd,%eax
43be29:	a8 01                	test   $0x1,%al
43be2b:	74 32                	je     0x43be5f
43be2d:	83 fb 01             	cmp    $0x1,%ebx
43be30:	75 11                	jne    0x43be43
43be32:	57                   	push   %edi
43be33:	e8 49 ff ff ff       	call   0x43bd81
43be38:	59                   	pop    %ecx
43be39:	83 f8 ff             	cmp    $0xffffffff,%eax
43be3c:	74 21                	je     0x43be5f
43be3e:	ff 45 e4             	incl   -0x1c(%ebp)
43be41:	eb 1c                	jmp    0x43be5f
43be43:	85 db                	test   %ebx,%ebx
43be45:	75 18                	jne    0x43be5f
43be47:	8b 47 0c             	mov    0xc(%edi),%eax
43be4a:	d1 e8                	shr    $1,%eax
43be4c:	a8 01                	test   $0x1,%al
43be4e:	74 0f                	je     0x43be5f
43be50:	57                   	push   %edi
43be51:	e8 2b ff ff ff       	call   0x43bd81
43be56:	59                   	pop    %ecx
43be57:	83 f8 ff             	cmp    $0xffffffff,%eax
43be5a:	75 03                	jne    0x43be5f
43be5c:	09 45 dc             	or     %eax,-0x24(%ebp)
43be5f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43be63:	e8 0e 00 00 00       	call   0x43be76
43be68:	8b 45 d4             	mov    -0x2c(%ebp),%eax
43be6b:	83 c6 04             	add    $0x4,%esi
43be6e:	eb 95                	jmp    0x43be05
43be70:	8b 5d 08             	mov    0x8(%ebp),%ebx
43be73:	8b 75 e0             	mov    -0x20(%ebp),%esi
43be76:	ff 75 d8             	push   -0x28(%ebp)
43be79:	e8 d1 b6 ff ff       	call   0x43754f
43be7e:	59                   	pop    %ecx
43be7f:	c3                   	ret
43be80:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43be87:	e8 14 00 00 00       	call   0x43bea0
43be8c:	83 fb 01             	cmp    $0x1,%ebx
43be8f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43be92:	74 03                	je     0x43be97
43be94:	8b 45 dc             	mov    -0x24(%ebp),%eax
43be97:	e8 da 29 ff ff       	call   0x42e876
43be9c:	c3                   	ret
43be9d:	8b 5d 08             	mov    0x8(%ebp),%ebx
43bea0:	6a 08                	push   $0x8
43bea2:	e8 d7 c7 ff ff       	call   0x43867e
43bea7:	59                   	pop    %ecx
43bea8:	c3                   	ret
43bea9:	8b ff                	mov    %edi,%edi
43beab:	55                   	push   %ebp
43beac:	8b ec                	mov    %esp,%ebp
43beae:	56                   	push   %esi
43beaf:	8b 75 08             	mov    0x8(%ebp),%esi
43beb2:	57                   	push   %edi
43beb3:	8d 7e 0c             	lea    0xc(%esi),%edi
43beb6:	8b 07                	mov    (%edi),%eax
43beb8:	c1 e8 0d             	shr    $0xd,%eax
43bebb:	a8 01                	test   $0x1,%al
43bebd:	74 24                	je     0x43bee3
43bebf:	8b 07                	mov    (%edi),%eax
43bec1:	c1 e8 06             	shr    $0x6,%eax
43bec4:	a8 01                	test   $0x1,%al
43bec6:	74 1b                	je     0x43bee3
43bec8:	ff 76 04             	push   0x4(%esi)
43becb:	e8 4a 92 ff ff       	call   0x43511a
43bed0:	59                   	pop    %ecx
43bed1:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
43bed6:	f0 21 07             	lock and %eax,(%edi)
43bed9:	33 c0                	xor    %eax,%eax
43bedb:	89 46 04             	mov    %eax,0x4(%esi)
43bede:	89 06                	mov    %eax,(%esi)
43bee0:	89 46 08             	mov    %eax,0x8(%esi)
43bee3:	5f                   	pop    %edi
43bee4:	5e                   	pop    %esi
43bee5:	5d                   	pop    %ebp
43bee6:	c3                   	ret
43bee7:	8b ff                	mov    %edi,%edi
43bee9:	55                   	push   %ebp
43beea:	8b ec                	mov    %esp,%ebp
43beec:	8b 4d 08             	mov    0x8(%ebp),%ecx
43beef:	83 f9 fe             	cmp    $0xfffffffe,%ecx
43bef2:	75 0d                	jne    0x43bf01
43bef4:	e8 3d 7f ff ff       	call   0x433e36
43bef9:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43beff:	eb 38                	jmp    0x43bf39
43bf01:	85 c9                	test   %ecx,%ecx
43bf03:	78 24                	js     0x43bf29
43bf05:	3b 0d 58 b3 46 00    	cmp    0x46b358,%ecx
43bf0b:	73 1c                	jae    0x43bf29
43bf0d:	8b c1                	mov    %ecx,%eax
43bf0f:	83 e1 3f             	and    $0x3f,%ecx
43bf12:	c1 f8 06             	sar    $0x6,%eax
43bf15:	6b c9 30             	imul   $0x30,%ecx,%ecx
43bf18:	8b 04 85 58 b1 46 00 	mov    0x46b158(,%eax,4),%eax
43bf1f:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
43bf24:	83 e0 40             	and    $0x40,%eax
43bf27:	5d                   	pop    %ebp
43bf28:	c3                   	ret
43bf29:	e8 08 7f ff ff       	call   0x433e36
43bf2e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
43bf34:	e8 41 7e ff ff       	call   0x433d7a
43bf39:	33 c0                	xor    %eax,%eax
43bf3b:	5d                   	pop    %ebp
43bf3c:	c3                   	ret
43bf3d:	cc                   	int3
43bf3e:	cc                   	int3
43bf3f:	cc                   	int3
43bf40:	8b ff                	mov    %edi,%edi
43bf42:	55                   	push   %ebp
43bf43:	8b ec                	mov    %esp,%ebp
43bf45:	51                   	push   %ecx
43bf46:	a1 08 a0 46 00       	mov    0x46a008,%eax
43bf4b:	33 c5                	xor    %ebp,%eax
43bf4d:	89 45 fc             	mov    %eax,-0x4(%ebp)
43bf50:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bf53:	53                   	push   %ebx
43bf54:	8b 5d 0c             	mov    0xc(%ebp),%ebx
43bf57:	3b d9                	cmp    %ecx,%ebx
43bf59:	76 6c                	jbe    0x43bfc7
43bf5b:	8b 45 10             	mov    0x10(%ebp),%eax
43bf5e:	56                   	push   %esi
43bf5f:	57                   	push   %edi
43bf60:	8d 14 01             	lea    (%ecx,%eax,1),%edx
43bf63:	8b f2                	mov    %edx,%esi
43bf65:	8b f9                	mov    %ecx,%edi
43bf67:	3b f3                	cmp    %ebx,%esi
43bf69:	77 28                	ja     0x43bf93
43bf6b:	eb 03                	jmp    0x43bf70
43bf6d:	8d 49 00             	lea    0x0(%ecx),%ecx
43bf70:	8b 4d 14             	mov    0x14(%ebp),%ecx
43bf73:	57                   	push   %edi
43bf74:	56                   	push   %esi
43bf75:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43bf7b:	ff 55 14             	call   *0x14(%ebp)
43bf7e:	83 c4 08             	add    $0x8,%esp
43bf81:	85 c0                	test   %eax,%eax
43bf83:	7e 02                	jle    0x43bf87
43bf85:	8b fe                	mov    %esi,%edi
43bf87:	8b 45 10             	mov    0x10(%ebp),%eax
43bf8a:	03 f0                	add    %eax,%esi
43bf8c:	3b f3                	cmp    %ebx,%esi
43bf8e:	76 e0                	jbe    0x43bf70
43bf90:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bf93:	8b f0                	mov    %eax,%esi
43bf95:	8b d3                	mov    %ebx,%edx
43bf97:	3b fb                	cmp    %ebx,%edi
43bf99:	74 21                	je     0x43bfbc
43bf9b:	85 c0                	test   %eax,%eax
43bf9d:	74 1d                	je     0x43bfbc
43bf9f:	2b fb                	sub    %ebx,%edi
43bfa1:	8a 02                	mov    (%edx),%al
43bfa3:	8d 52 01             	lea    0x1(%edx),%edx
43bfa6:	8a 4c 17 ff          	mov    -0x1(%edi,%edx,1),%cl
43bfaa:	88 44 17 ff          	mov    %al,-0x1(%edi,%edx,1)
43bfae:	88 4a ff             	mov    %cl,-0x1(%edx)
43bfb1:	83 ee 01             	sub    $0x1,%esi
43bfb4:	75 eb                	jne    0x43bfa1
43bfb6:	8b 45 10             	mov    0x10(%ebp),%eax
43bfb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bfbc:	2b d8                	sub    %eax,%ebx
43bfbe:	8d 14 01             	lea    (%ecx,%eax,1),%edx
43bfc1:	3b d9                	cmp    %ecx,%ebx
43bfc3:	77 9e                	ja     0x43bf63
43bfc5:	5f                   	pop    %edi
43bfc6:	5e                   	pop    %esi
43bfc7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43bfca:	33 cd                	xor    %ebp,%ecx
43bfcc:	5b                   	pop    %ebx
43bfcd:	e8 64 1e ff ff       	call   0x42de36
43bfd2:	8b e5                	mov    %ebp,%esp
43bfd4:	5d                   	pop    %ebp