41b98b:	59                   	pop    %ecx
41b98c:	3b ce                	cmp    %esi,%ecx
41b98e:	0f 85 05 01 00 00    	jne    0x41ba99
41b994:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41b997:	39 48 08             	cmp    %ecx,0x8(%eax)
41b99a:	0f 85 fd 00 00 00    	jne    0x41ba9d
41b9a0:	ff 45 fc             	incl   -0x4(%ebp)
41b9a3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41b9a6:	8b 40 04             	mov    0x4(%eax),%eax
41b9a9:	3b c7                	cmp    %edi,%eax
41b9ab:	0f 85 75 ff ff ff    	jne    0x41b926
41b9b1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41b9b5:	74 21                	je     0x41b9d8
41b9b7:	83 fe 20             	cmp    $0x20,%esi
41b9ba:	b8 00 00 00 80       	mov    $0x80000000,%eax
41b9bf:	7d 0c                	jge    0x41b9cd
41b9c1:	8b ce                	mov    %esi,%ecx
41b9c3:	d3 e8                	shr    %cl,%eax
41b9c5:	09 45 d8             	or     %eax,-0x28(%ebp)
41b9c8:	09 45 f0             	or     %eax,-0x10(%ebp)
41b9cb:	eb 0b                	jmp    0x41b9d8
41b9cd:	8d 4e e0             	lea    -0x20(%esi),%ecx
41b9d0:	d3 e8                	shr    %cl,%eax
41b9d2:	09 45 e8             	or     %eax,-0x18(%ebp)
41b9d5:	09 45 ec             	or     %eax,-0x14(%ebp)
41b9d8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41b9db:	39 78 04             	cmp    %edi,0x4(%eax)
41b9de:	0f 85 c5 00 00 00    	jne    0x41baa9
41b9e4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b9e7:	3b 8c b5 c8 fe ff ff 	cmp    -0x138(%ebp,%esi,4),%ecx
41b9ee:	0f 85 b5 00 00 00    	jne    0x41baa9
41b9f4:	39 03                	cmp    %eax,(%ebx)
41b9f6:	0f 85 a9 00 00 00    	jne    0x41baa5
41b9fc:	46                   	inc    %esi
41b9fd:	83 fe 40             	cmp    $0x40,%esi
41ba00:	8b fb                	mov    %ebx,%edi
41ba02:	0f 8c 06 ff ff ff    	jl     0x41b90e
41ba08:	8b 75 c8             	mov    -0x38(%ebp),%esi
41ba0b:	8b 5d cc             	mov    -0x34(%ebp),%ebx
41ba0e:	8b 45 d8             	mov    -0x28(%ebp),%eax
41ba11:	3b 46 80             	cmp    -0x80(%esi),%eax
41ba14:	0f 85 93 00 00 00    	jne    0x41baad
41ba1a:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ba1d:	3b 06                	cmp    (%esi),%eax
41ba1f:	0f 85 88 00 00 00    	jne    0x41baad
41ba25:	81 45 f8 00 80 00 00 	addl   $0x8000,-0x8(%ebp)
41ba2c:	81 45 dc 04 02 00 00 	addl   $0x204,-0x24(%ebp)
41ba33:	d1 65 e0             	shll   $1,-0x20(%ebp)
41ba36:	ff 45 f4             	incl   -0xc(%ebp)
41ba39:	83 c6 04             	add    $0x4,%esi
41ba3c:	83 7d f4 20          	cmpl   $0x20,-0xc(%ebp)
41ba40:	89 75 c8             	mov    %esi,-0x38(%ebp)
41ba43:	0f 8c df fd ff ff    	jl     0x41b828
41ba49:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ba4c:	3b 03                	cmp    (%ebx),%eax
41ba4e:	75 61                	jne    0x41bab1
41ba50:	8b 45 ec             	mov    -0x14(%ebp),%eax
41ba53:	3b 43 04             	cmp    0x4(%ebx),%eax
41ba56:	75 59                	jne    0x41bab1
41ba58:	83 c3 14             	add    $0x14,%ebx
41ba5b:	ff 45 e4             	incl   -0x1c(%ebp)
41ba5e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ba61:	3b 05 30 e1 4a 00    	cmp    0x4ae130,%eax
41ba67:	89 5d cc             	mov    %ebx,-0x34(%ebp)
41ba6a:	0f 8c 76 fd ff ff    	jl     0x41b7e6
41ba70:	e9 6a fd ff ff       	jmp    0x41b7df
41ba75:	6a fe                	push   $0xfffffffe
41ba77:	58                   	pop    %eax
41ba78:	e9 64 fd ff ff       	jmp    0x41b7e1
41ba7d:	6a fc                	push   $0xfffffffc
41ba7f:	eb f6                	jmp    0x41ba77
41ba81:	6a fa                	push   $0xfffffffa
41ba83:	eb f2                	jmp    0x41ba77
41ba85:	6a f8                	push   $0xfffffff8
41ba87:	eb ee                	jmp    0x41ba77
41ba89:	6a f9                	push   $0xfffffff9
41ba8b:	eb ea                	jmp    0x41ba77
41ba8d:	6a fb                	push   $0xfffffffb
41ba8f:	eb e6                	jmp    0x41ba77
41ba91:	6a f7                	push   $0xfffffff7
41ba93:	eb e2                	jmp    0x41ba77
41ba95:	6a f5                	push   $0xfffffff5
41ba97:	eb de                	jmp    0x41ba77
41ba99:	6a f4                	push   $0xfffffff4
41ba9b:	eb da                	jmp    0x41ba77
41ba9d:	6a f3                	push   $0xfffffff3
41ba9f:	eb d6                	jmp    0x41ba77
41baa1:	6a f6                	push   $0xfffffff6
41baa3:	eb d2                	jmp    0x41ba77
41baa5:	6a f1                	push   $0xfffffff1
41baa7:	eb ce                	jmp    0x41ba77
41baa9:	6a f2                	push   $0xfffffff2
41baab:	eb ca                	jmp    0x41ba77
41baad:	6a f0                	push   $0xfffffff0
41baaf:	eb c6                	jmp    0x41ba77
41bab1:	6a ef                	push   $0xffffffef
41bab3:	eb c2                	jmp    0x41ba77
41bab5:	a1 58 e1 4a 00       	mov    0x4ae158,%eax
41baba:	83 f8 03             	cmp    $0x3,%eax
41babd:	75 17                	jne    0x41bad6
41babf:	8b 44 24 04          	mov    0x4(%esp),%eax
41bac3:	3d f8 03 00 00       	cmp    $0x3f8,%eax
41bac8:	77 09                	ja     0x41bad3
41baca:	a3 38 e1 4a 00       	mov    %eax,0x4ae138
41bacf:	33 c0                	xor    %eax,%eax
41bad1:	40                   	inc    %eax
41bad2:	c3                   	ret
41bad3:	33 c0                	xor    %eax,%eax
41bad5:	c3                   	ret
41bad6:	83 f8 01             	cmp    $0x1,%eax
41bad9:	56                   	push   %esi
41bada:	75 30                	jne    0x41bb0c
41badc:	8b 74 24 08          	mov    0x8(%esp),%esi
41bae0:	85 f6                	test   %esi,%esi
41bae2:	76 28                	jbe    0x41bb0c
41bae4:	81 fe f8 03 00 00    	cmp    $0x3f8,%esi
41baea:	77 20                	ja     0x41bb0c
41baec:	56                   	push   %esi
41baed:	e8 b2 f3 ff ff       	call   0x41aea4
41baf2:	85 c0                	test   %eax,%eax
41baf4:	59                   	pop    %ecx
41baf5:	74 15                	je     0x41bb0c
41baf7:	33 c0                	xor    %eax,%eax
41baf9:	89 35 38 e1 4a 00    	mov    %esi,0x4ae138
41baff:	c7 05 58 e1 4a 00 03 	movl   $0x3,0x4ae158
41bb06:	00 00 00
41bb09:	40                   	inc    %eax
41bb0a:	5e                   	pop    %esi
41bb0b:	c3                   	ret
41bb0c:	33 c0                	xor    %eax,%eax
41bb0e:	5e                   	pop    %esi
41bb0f:	c3                   	ret
41bb10:	55                   	push   %ebp
41bb11:	8b ec                	mov    %esp,%ebp
41bb13:	83 ec 14             	sub    $0x14,%esp
41bb16:	8b 4d 08             	mov    0x8(%ebp),%ecx
41bb19:	a1 30 e1 4a 00       	mov    0x4ae130,%eax
41bb1e:	8b 15 34 e1 4a 00    	mov    0x4ae134,%edx
41bb24:	83 c1 17             	add    $0x17,%ecx
41bb27:	83 e1 f0             	and    $0xfffffff0,%ecx
41bb2a:	53                   	push   %ebx
41bb2b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41bb2e:	c1 f9 04             	sar    $0x4,%ecx
41bb31:	56                   	push   %esi
41bb32:	8d 04 80             	lea    (%eax,%eax,4),%eax
41bb35:	57                   	push   %edi
41bb36:	49                   	dec    %ecx
41bb37:	83 f9 20             	cmp    $0x20,%ecx
41bb3a:	8d 3c 82             	lea    (%edx,%eax,4),%edi
41bb3d:	89 7d fc             	mov    %edi,-0x4(%ebp)
41bb40:	7d 0b                	jge    0x41bb4d
41bb42:	83 ce ff             	or     $0xffffffff,%esi
41bb45:	d3 ee                	shr    %cl,%esi
41bb47:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
41bb4b:	eb 0d                	jmp    0x41bb5a
41bb4d:	83 c1 e0             	add    $0xffffffe0,%ecx
41bb50:	83 c8 ff             	or     $0xffffffff,%eax
41bb53:	33 f6                	xor    %esi,%esi
41bb55:	d3 e8                	shr    %cl,%eax
41bb57:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bb5a:	a1 3c e1 4a 00       	mov    0x4ae13c,%eax
41bb5f:	8b d8                	mov    %eax,%ebx
41bb61:	89 75 f4             	mov    %esi,-0xc(%ebp)
41bb64:	3b df                	cmp    %edi,%ebx
41bb66:	eb 14                	jmp    0x41bb7c
41bb68:	8b 4b 04             	mov    0x4(%ebx),%ecx
41bb6b:	8b 3b                	mov    (%ebx),%edi
41bb6d:	23 4d f8             	and    -0x8(%ebp),%ecx
41bb70:	23 fe                	and    %esi,%edi
41bb72:	0b cf                	or     %edi,%ecx
41bb74:	75 0b                	jne    0x41bb81
41bb76:	83 c3 14             	add    $0x14,%ebx
41bb79:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
41bb7c:	89 5d 08             	mov    %ebx,0x8(%ebp)
41bb7f:	72 e7                	jb     0x41bb68
41bb81:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
41bb84:	75 24                	jne    0x41bbaa
41bb86:	8b da                	mov    %edx,%ebx
41bb88:	eb 11                	jmp    0x41bb9b
41bb8a:	8b 4b 04             	mov    0x4(%ebx),%ecx
41bb8d:	8b 3b                	mov    (%ebx),%edi
41bb8f:	23 4d f8             	and    -0x8(%ebp),%ecx
41bb92:	23 fe                	and    %esi,%edi
41bb94:	0b cf                	or     %edi,%ecx
41bb96:	75 0a                	jne    0x41bba2
41bb98:	83 c3 14             	add    $0x14,%ebx
41bb9b:	3b d8                	cmp    %eax,%ebx
41bb9d:	89 5d 08             	mov    %ebx,0x8(%ebp)
41bba0:	72 e8                	jb     0x41bb8a
41bba2:	3b d8                	cmp    %eax,%ebx
41bba4:	0f 84 94 00 00 00    	je     0x41bc3e
41bbaa:	89 1d 3c e1 4a 00    	mov    %ebx,0x4ae13c
41bbb0:	8b 43 10             	mov    0x10(%ebx),%eax
41bbb3:	8b 10                	mov    (%eax),%edx
41bbb5:	83 fa ff             	cmp    $0xffffffff,%edx
41bbb8:	89 55 fc             	mov    %edx,-0x4(%ebp)
41bbbb:	74 14                	je     0x41bbd1
41bbbd:	8b 8c 90 c4 00 00 00 	mov    0xc4(%eax,%edx,4),%ecx
41bbc4:	8b 7c 90 44          	mov    0x44(%eax,%edx,4),%edi
41bbc8:	23 4d f8             	and    -0x8(%ebp),%ecx
41bbcb:	23 fe                	and    %esi,%edi
41bbcd:	0b cf                	or     %edi,%ecx
41bbcf:	75 36                	jne    0x41bc07
41bbd1:	8b 90 c4 00 00 00    	mov    0xc4(%eax),%edx
41bbd7:	23 55 f8             	and    -0x8(%ebp),%edx
41bbda:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bbde:	8d 48 44             	lea    0x44(%eax),%ecx
41bbe1:	8b 31                	mov    (%ecx),%esi
41bbe3:	23 75 f4             	and    -0xc(%ebp),%esi
41bbe6:	0b d6                	or     %esi,%edx
41bbe8:	8b 75 f4             	mov    -0xc(%ebp),%esi
41bbeb:	75 17                	jne    0x41bc04
41bbed:	8b 91 84 00 00 00    	mov    0x84(%ecx),%edx
41bbf3:	23 55 f8             	and    -0x8(%ebp),%edx
41bbf6:	ff 45 fc             	incl   -0x4(%ebp)
41bbf9:	83 c1 04             	add    $0x4,%ecx
41bbfc:	8b 39                	mov    (%ecx),%edi
41bbfe:	23 fe                	and    %esi,%edi
41bc00:	0b d7                	or     %edi,%edx
41bc02:	74 e9                	je     0x41bbed
41bc04:	8b 55 fc             	mov    -0x4(%ebp),%edx
41bc07:	8b ca                	mov    %edx,%ecx
41bc09:	69 c9 04 02 00 00    	imul   $0x204,%ecx,%ecx
41bc0f:	8d 8c 01 44 01 00 00 	lea    0x144(%ecx,%eax,1),%ecx
41bc16:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41bc19:	8b 4c 90 44          	mov    0x44(%eax,%edx,4),%ecx
41bc1d:	33 ff                	xor    %edi,%edi
41bc1f:	23 ce                	and    %esi,%ecx
41bc21:	75 6d                	jne    0x41bc90
41bc23:	8b 8c 90 c4 00 00 00 	mov    0xc4(%eax,%edx,4),%ecx
41bc2a:	23 4d f8             	and    -0x8(%ebp),%ecx
41bc2d:	6a 20                	push   $0x20
41bc2f:	5f                   	pop    %edi
41bc30:	eb 5e                	jmp    0x41bc90
41bc32:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
41bc36:	75 0b                	jne    0x41bc43
41bc38:	83 c3 14             	add    $0x14,%ebx
41bc3b:	89 5d 08             	mov    %ebx,0x8(%ebp)
41bc3e:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
41bc41:	72 ef                	jb     0x41bc32
41bc43:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
41bc46:	75 26                	jne    0x41bc6e
41bc48:	8b da                	mov    %edx,%ebx
41bc4a:	eb 09                	jmp    0x41bc55
41bc4c:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
41bc50:	75 0a                	jne    0x41bc5c
41bc52:	83 c3 14             	add    $0x14,%ebx
41bc55:	3b d8                	cmp    %eax,%ebx
41bc57:	89 5d 08             	mov    %ebx,0x8(%ebp)
41bc5a:	72 f0                	jb     0x41bc4c
41bc5c:	3b d8                	cmp    %eax,%ebx
41bc5e:	75 0e                	jne    0x41bc6e
41bc60:	e8 ca f5 ff ff       	call   0x41b22f
41bc65:	8b d8                	mov    %eax,%ebx
41bc67:	85 db                	test   %ebx,%ebx
41bc69:	89 5d 08             	mov    %ebx,0x8(%ebp)
41bc6c:	74 18                	je     0x41bc86
41bc6e:	53                   	push   %ebx
41bc6f:	e8 72 f6 ff ff       	call   0x41b2e6
41bc74:	59                   	pop    %ecx
41bc75:	8b 4b 10             	mov    0x10(%ebx),%ecx
41bc78:	89 01                	mov    %eax,(%ecx)
41bc7a:	8b 43 10             	mov    0x10(%ebx),%eax
41bc7d:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41bc80:	0f 85 24 ff ff ff    	jne    0x41bbaa
41bc86:	33 c0                	xor    %eax,%eax
41bc88:	e9 7a 01 00 00       	jmp    0x41be07
41bc8d:	d1 e1                	shl    $1,%ecx
41bc8f:	47                   	inc    %edi
41bc90:	85 c9                	test   %ecx,%ecx
41bc92:	7d f9                	jge    0x41bc8d
41bc94:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bc97:	8b 54 f9 04          	mov    0x4(%ecx,%edi,8),%edx
41bc9b:	8b 0a                	mov    (%edx),%ecx
41bc9d:	2b 4d f0             	sub    -0x10(%ebp),%ecx
41bca0:	8b f1                	mov    %ecx,%esi
41bca2:	c1 fe 04             	sar    $0x4,%esi
41bca5:	4e                   	dec    %esi
41bca6:	83 fe 3f             	cmp    $0x3f,%esi
41bca9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41bcac:	7e 03                	jle    0x41bcb1
41bcae:	6a 3f                	push   $0x3f
41bcb0:	5e                   	pop    %esi
41bcb1:	3b f7                	cmp    %edi,%esi
41bcb3:	0f 84 01 01 00 00    	je     0x41bdba
41bcb9:	8b 4a 04             	mov    0x4(%edx),%ecx
41bcbc:	3b 4a 08             	cmp    0x8(%edx),%ecx
41bcbf:	75 5c                	jne    0x41bd1d
41bcc1:	83 ff 20             	cmp    $0x20,%edi
41bcc4:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41bcc9:	7d 26                	jge    0x41bcf1
41bccb:	8b cf                	mov    %edi,%ecx
41bccd:	d3 eb                	shr    %cl,%ebx
41bccf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bcd2:	8d 7c 38 04          	lea    0x4(%eax,%edi,1),%edi
41bcd6:	f7 d3                	not    %ebx
41bcd8:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41bcdb:	23 5c 88 44          	and    0x44(%eax,%ecx,4),%ebx
41bcdf:	89 5c 88 44          	mov    %ebx,0x44(%eax,%ecx,4)
41bce3:	fe 0f                	decb   (%edi)
41bce5:	75 33                	jne    0x41bd1a
41bce7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41bcea:	8b 5d 08             	mov    0x8(%ebp),%ebx
41bced:	21 0b                	and    %ecx,(%ebx)
41bcef:	eb 2c                	jmp    0x41bd1d
41bcf1:	8d 4f e0             	lea    -0x20(%edi),%ecx
41bcf4:	d3 eb                	shr    %cl,%ebx
41bcf6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bcf9:	8d 8c 88 c4 00 00 00 	lea    0xc4(%eax,%ecx,4),%ecx
41bd00:	8d 7c 38 04          	lea    0x4(%eax,%edi,1),%edi
41bd04:	f7 d3                	not    %ebx
41bd06:	21 19                	and    %ebx,(%ecx)
41bd08:	fe 0f                	decb   (%edi)
41bd0a:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41bd0d:	75 0b                	jne    0x41bd1a
41bd0f:	8b 5d 08             	mov    0x8(%ebp),%ebx
41bd12:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41bd15:	21 4b 04             	and    %ecx,0x4(%ebx)
41bd18:	eb 03                	jmp    0x41bd1d
41bd1a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41bd1d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41bd21:	8b 4a 08             	mov    0x8(%edx),%ecx
41bd24:	8b 7a 04             	mov    0x4(%edx),%edi
41bd27:	89 79 04             	mov    %edi,0x4(%ecx)
41bd2a:	8b 4a 04             	mov    0x4(%edx),%ecx
41bd2d:	8b 7a 08             	mov    0x8(%edx),%edi
41bd30:	89 79 08             	mov    %edi,0x8(%ecx)
41bd33:	0f 84 8d 00 00 00    	je     0x41bdc6
41bd39:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bd3c:	8d 0c f1             	lea    (%ecx,%esi,8),%ecx
41bd3f:	8b 79 04             	mov    0x4(%ecx),%edi
41bd42:	89 4a 08             	mov    %ecx,0x8(%edx)
41bd45:	89 7a 04             	mov    %edi,0x4(%edx)
41bd48:	89 51 04             	mov    %edx,0x4(%ecx)
41bd4b:	8b 4a 04             	mov    0x4(%edx),%ecx
41bd4e:	89 51 08             	mov    %edx,0x8(%ecx)
41bd51:	8b 4a 04             	mov    0x4(%edx),%ecx
41bd54:	3b 4a 08             	cmp    0x8(%edx),%ecx
41bd57:	75 5e                	jne    0x41bdb7
41bd59:	8a 4c 06 04          	mov    0x4(%esi,%eax,1),%cl
41bd5d:	88 4d 0b             	mov    %cl,0xb(%ebp)
41bd60:	fe c1                	inc    %cl
41bd62:	83 fe 20             	cmp    $0x20,%esi
41bd65:	88 4c 06 04          	mov    %cl,0x4(%esi,%eax,1)
41bd69:	7d 23                	jge    0x41bd8e
41bd6b:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
41bd6f:	75 0b                	jne    0x41bd7c
41bd71:	bf 00 00 00 80       	mov    $0x80000000,%edi
41bd76:	8b ce                	mov    %esi,%ecx
41bd78:	d3 ef                	shr    %cl,%edi