41bd7a:	09 3b                	or     %edi,(%ebx)
41bd7c:	8b ce                	mov    %esi,%ecx
41bd7e:	bf 00 00 00 80       	mov    $0x80000000,%edi
41bd83:	d3 ef                	shr    %cl,%edi
41bd85:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bd88:	09 7c 88 44          	or     %edi,0x44(%eax,%ecx,4)
41bd8c:	eb 29                	jmp    0x41bdb7
41bd8e:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
41bd92:	75 0d                	jne    0x41bda1
41bd94:	8d 4e e0             	lea    -0x20(%esi),%ecx
41bd97:	bf 00 00 00 80       	mov    $0x80000000,%edi
41bd9c:	d3 ef                	shr    %cl,%edi
41bd9e:	09 7b 04             	or     %edi,0x4(%ebx)
41bda1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bda4:	8d bc 88 c4 00 00 00 	lea    0xc4(%eax,%ecx,4),%edi
41bdab:	8d 4e e0             	lea    -0x20(%esi),%ecx
41bdae:	be 00 00 00 80       	mov    $0x80000000,%esi
41bdb3:	d3 ee                	shr    %cl,%esi
41bdb5:	09 37                	or     %esi,(%edi)
41bdb7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41bdba:	85 c9                	test   %ecx,%ecx
41bdbc:	74 0b                	je     0x41bdc9
41bdbe:	89 0a                	mov    %ecx,(%edx)
41bdc0:	89 4c 11 fc          	mov    %ecx,-0x4(%ecx,%edx,1)
41bdc4:	eb 03                	jmp    0x41bdc9
41bdc6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41bdc9:	8b 75 f0             	mov    -0x10(%ebp),%esi
41bdcc:	03 d1                	add    %ecx,%edx
41bdce:	8d 4e 01             	lea    0x1(%esi),%ecx
41bdd1:	89 0a                	mov    %ecx,(%edx)
41bdd3:	89 4c 32 fc          	mov    %ecx,-0x4(%edx,%esi,1)
41bdd7:	8b 75 f4             	mov    -0xc(%ebp),%esi
41bdda:	8b 0e                	mov    (%esi),%ecx
41bddc:	85 c9                	test   %ecx,%ecx
41bdde:	8d 79 01             	lea    0x1(%ecx),%edi
41bde1:	89 3e                	mov    %edi,(%esi)
41bde3:	75 1a                	jne    0x41bdff
41bde5:	3b 1d 2c e1 4a 00    	cmp    0x4ae12c,%ebx
41bdeb:	75 12                	jne    0x41bdff
41bded:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41bdf0:	3b 0d 44 e1 4a 00    	cmp    0x4ae144,%ecx
41bdf6:	75 07                	jne    0x41bdff
41bdf8:	83 25 2c e1 4a 00 00 	andl   $0x0,0x4ae12c
41bdff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41be02:	89 08                	mov    %ecx,(%eax)
41be04:	8d 42 04             	lea    0x4(%edx),%eax
41be07:	5f                   	pop    %edi
41be08:	5e                   	pop    %esi
41be09:	5b                   	pop    %ebx
41be0a:	c9                   	leave
41be0b:	c3                   	ret
41be0c:	56                   	push   %esi
41be0d:	6a 04                	push   $0x4
41be0f:	e8 5a ef ff ff       	call   0x41ad6e
41be14:	8b 44 24 0c          	mov    0xc(%esp),%eax
41be18:	8b 35 a0 c8 4a 00    	mov    0x4ac8a0,%esi
41be1e:	6a 04                	push   $0x4
41be20:	a3 a0 c8 4a 00       	mov    %eax,0x4ac8a0
41be25:	e8 77 ee ff ff       	call   0x41aca1
41be2a:	59                   	pop    %ecx
41be2b:	59                   	pop    %ecx
41be2c:	8b c6                	mov    %esi,%eax
41be2e:	5e                   	pop    %esi
41be2f:	c3                   	ret
41be30:	a1 a0 c8 4a 00       	mov    0x4ac8a0,%eax
41be35:	c3                   	ret
41be36:	a1 a0 c8 4a 00       	mov    0x4ac8a0,%eax
41be3b:	85 c0                	test   %eax,%eax
41be3d:	74 0f                	je     0x41be4e
41be3f:	ff 74 24 04          	push   0x4(%esp)
41be43:	ff d0                	call   *%eax
41be45:	85 c0                	test   %eax,%eax
41be47:	59                   	pop    %ecx
41be48:	74 04                	je     0x41be4e
41be4a:	33 c0                	xor    %eax,%eax
41be4c:	40                   	inc    %eax
41be4d:	c3                   	ret
41be4e:	33 c0                	xor    %eax,%eax
41be50:	c3                   	ret
41be51:	55                   	push   %ebp
41be52:	8b ec                	mov    %esp,%ebp
41be54:	83 ec 20             	sub    $0x20,%esp
41be57:	53                   	push   %ebx
41be58:	56                   	push   %esi
41be59:	8b 75 08             	mov    0x8(%ebp),%esi
41be5c:	8b 5e 08             	mov    0x8(%esi),%ebx
41be5f:	f6 c3 03             	test   $0x3,%bl
41be62:	75 1b                	jne    0x41be7f
41be64:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
41be6a:	89 45 08             	mov    %eax,0x8(%ebp)
41be6d:	8b 45 08             	mov    0x8(%ebp),%eax
41be70:	8b 48 08             	mov    0x8(%eax),%ecx
41be73:	3b d9                	cmp    %ecx,%ebx
41be75:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41be78:	72 0c                	jb     0x41be86
41be7a:	3b 58 04             	cmp    0x4(%eax),%ebx
41be7d:	73 07                	jae    0x41be86
41be7f:	33 c0                	xor    %eax,%eax
41be81:	e9 f0 01 00 00       	jmp    0x41c076
41be86:	57                   	push   %edi
41be87:	8b 7e 0c             	mov    0xc(%esi),%edi
41be8a:	83 ff ff             	cmp    $0xffffffff,%edi
41be8d:	75 08                	jne    0x41be97
41be8f:	33 c0                	xor    %eax,%eax
41be91:	40                   	inc    %eax
41be92:	e9 de 01 00 00       	jmp    0x41c075
41be97:	33 d2                	xor    %edx,%edx
41be99:	89 55 08             	mov    %edx,0x8(%ebp)
41be9c:	8b c3                	mov    %ebx,%eax
41be9e:	8b 08                	mov    (%eax),%ecx
41bea0:	83 f9 ff             	cmp    $0xffffffff,%ecx
41bea3:	74 08                	je     0x41bead
41bea5:	3b ca                	cmp    %edx,%ecx
41bea7:	0f 83 45 01 00 00    	jae    0x41bff2
41bead:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
41beb1:	74 03                	je     0x41beb6
41beb3:	ff 45 08             	incl   0x8(%ebp)
41beb6:	42                   	inc    %edx
41beb7:	83 c0 0c             	add    $0xc,%eax
41beba:	3b d7                	cmp    %edi,%edx
41bebc:	76 e0                	jbe    0x41be9e
41bebe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41bec2:	74 14                	je     0x41bed8
41bec4:	8b 46 f8             	mov    -0x8(%esi),%eax
41bec7:	3b 45 fc             	cmp    -0x4(%ebp),%eax
41beca:	0f 82 22 01 00 00    	jb     0x41bff2
41bed0:	3b c6                	cmp    %esi,%eax
41bed2:	0f 83 1a 01 00 00    	jae    0x41bff2
41bed8:	a1 a8 c8 4a 00       	mov    0x4ac8a8,%eax
41bedd:	8b fb                	mov    %ebx,%edi
41bedf:	81 e7 00 f0 ff ff    	and    $0xfffff000,%edi
41bee5:	33 f6                	xor    %esi,%esi
41bee7:	85 c0                	test   %eax,%eax
41bee9:	7e 12                	jle    0x41befd
41beeb:	39 3c b5 b0 c8 4a 00 	cmp    %edi,0x4ac8b0(,%esi,4)
41bef2:	0f 84 fe 00 00 00    	je     0x41bff6
41bef8:	46                   	inc    %esi
41bef9:	3b f0                	cmp    %eax,%esi
41befb:	7c ee                	jl     0x41beeb
41befd:	6a 1c                	push   $0x1c
41beff:	8d 45 e0             	lea    -0x20(%ebp),%eax
41bf02:	50                   	push   %eax
41bf03:	53                   	push   %ebx
41bf04:	ff 15 2c 01 4b 00    	call   *0x4b012c
41bf0a:	85 c0                	test   %eax,%eax
41bf0c:	0f 84 60 01 00 00    	je     0x41c072
41bf12:	81 7d f8 00 00 00 01 	cmpl   $0x1000000,-0x8(%ebp)
41bf19:	0f 85 53 01 00 00    	jne    0x41c072
41bf1f:	f6 45 f4 cc          	testb  $0xcc,-0xc(%ebp)
41bf23:	74 56                	je     0x41bf7b
41bf25:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41bf28:	66 81 39 4d 5a       	cmpw   $0x5a4d,(%ecx)
41bf2d:	0f 85 3f 01 00 00    	jne    0x41c072
41bf33:	8b 41 3c             	mov    0x3c(%ecx),%eax
41bf36:	03 c1                	add    %ecx,%eax
41bf38:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
41bf3e:	0f 85 2e 01 00 00    	jne    0x41c072
41bf44:	66 81 78 18 0b 01    	cmpw   $0x10b,0x18(%eax)
41bf4a:	0f 85 22 01 00 00    	jne    0x41c072
41bf50:	2b d9                	sub    %ecx,%ebx
41bf52:	66 83 78 06 00       	cmpw   $0x0,0x6(%eax)
41bf57:	0f b7 48 14          	movzwl 0x14(%eax),%ecx
41bf5b:	8d 4c 01 18          	lea    0x18(%ecx,%eax,1),%ecx
41bf5f:	0f 86 0d 01 00 00    	jbe    0x41c072
41bf65:	8b 41 0c             	mov    0xc(%ecx),%eax
41bf68:	3b d8                	cmp    %eax,%ebx
41bf6a:	72 0f                	jb     0x41bf7b
41bf6c:	8b 51 08             	mov    0x8(%ecx),%edx
41bf6f:	03 d0                	add    %eax,%edx
41bf71:	3b da                	cmp    %edx,%ebx
41bf73:	73 06                	jae    0x41bf7b
41bf75:	f6 41 27 80          	testb  $0x80,0x27(%ecx)
41bf79:	75 77                	jne    0x41bff2
41bf7b:	6a 01                	push   $0x1
41bf7d:	68 f0 c8 4a 00       	push   $0x4ac8f0
41bf82:	ff 15 bc 03 4b 00    	call   *0x4b03bc
41bf88:	85 c0                	test   %eax,%eax
41bf8a:	0f 85 ff fe ff ff    	jne    0x41be8f
41bf90:	8b 0d a8 c8 4a 00    	mov    0x4ac8a8,%ecx
41bf96:	85 c9                	test   %ecx,%ecx
41bf98:	8b d1                	mov    %ecx,%edx
41bf9a:	7e 13                	jle    0x41bfaf
41bf9c:	8d 04 8d ac c8 4a 00 	lea    0x4ac8ac(,%ecx,4),%eax
41bfa3:	39 38                	cmp    %edi,(%eax)
41bfa5:	74 08                	je     0x41bfaf
41bfa7:	4a                   	dec    %edx
41bfa8:	83 e8 04             	sub    $0x4,%eax
41bfab:	85 d2                	test   %edx,%edx
41bfad:	7f f4                	jg     0x41bfa3
41bfaf:	85 d2                	test   %edx,%edx
41bfb1:	75 2d                	jne    0x41bfe0
41bfb3:	6a 0f                	push   $0xf
41bfb5:	5b                   	pop    %ebx
41bfb6:	3b cb                	cmp    %ebx,%ecx
41bfb8:	7f 02                	jg     0x41bfbc
41bfba:	8b d9                	mov    %ecx,%ebx
41bfbc:	33 d2                	xor    %edx,%edx
41bfbe:	85 db                	test   %ebx,%ebx
41bfc0:	7c 12                	jl     0x41bfd4
41bfc2:	8d 04 95 b0 c8 4a 00 	lea    0x4ac8b0(,%edx,4),%eax
41bfc9:	8b 30                	mov    (%eax),%esi
41bfcb:	42                   	inc    %edx
41bfcc:	3b d3                	cmp    %ebx,%edx
41bfce:	89 38                	mov    %edi,(%eax)
41bfd0:	8b fe                	mov    %esi,%edi
41bfd2:	7e ee                	jle    0x41bfc2
41bfd4:	83 f9 10             	cmp    $0x10,%ecx
41bfd7:	7d 07                	jge    0x41bfe0
41bfd9:	41                   	inc    %ecx
41bfda:	89 0d a8 c8 4a 00    	mov    %ecx,0x4ac8a8
41bfe0:	6a 00                	push   $0x0
41bfe2:	68 f0 c8 4a 00       	push   $0x4ac8f0
41bfe7:	ff 15 bc 03 4b 00    	call   *0x4b03bc
41bfed:	e9 9d fe ff ff       	jmp    0x41be8f
41bff2:	33 c0                	xor    %eax,%eax
41bff4:	eb 7f                	jmp    0x41c075
41bff6:	85 f6                	test   %esi,%esi
41bff8:	0f 8e 91 fe ff ff    	jle    0x41be8f
41bffe:	8b 1d bc 03 4b 00    	mov    0x4b03bc,%ebx
41c004:	6a 01                	push   $0x1
41c006:	68 f0 c8 4a 00       	push   $0x4ac8f0
41c00b:	ff d3                	call   *%ebx
41c00d:	85 c0                	test   %eax,%eax
41c00f:	0f 85 7a fe ff ff    	jne    0x41be8f
41c015:	39 3c b5 b0 c8 4a 00 	cmp    %edi,0x4ac8b0(,%esi,4)
41c01c:	74 2e                	je     0x41c04c
41c01e:	a1 a8 c8 4a 00       	mov    0x4ac8a8,%eax
41c023:	8d 70 ff             	lea    -0x1(%eax),%esi
41c026:	85 f6                	test   %esi,%esi
41c028:	7c 10                	jl     0x41c03a
41c02a:	39 3c b5 b0 c8 4a 00 	cmp    %edi,0x4ac8b0(,%esi,4)
41c031:	74 03                	je     0x41c036
41c033:	4e                   	dec    %esi
41c034:	79 f4                	jns    0x41c02a
41c036:	85 f6                	test   %esi,%esi
41c038:	7d 10                	jge    0x41c04a
41c03a:	83 f8 10             	cmp    $0x10,%eax
41c03d:	7d 06                	jge    0x41c045
41c03f:	40                   	inc    %eax
41c040:	a3 a8 c8 4a 00       	mov    %eax,0x4ac8a8
41c045:	8d 70 ff             	lea    -0x1(%eax),%esi
41c048:	eb 02                	jmp    0x41c04c
41c04a:	74 18                	je     0x41c064
41c04c:	33 c9                	xor    %ecx,%ecx
41c04e:	85 f6                	test   %esi,%esi
41c050:	7c 12                	jl     0x41c064
41c052:	8d 04 8d b0 c8 4a 00 	lea    0x4ac8b0(,%ecx,4),%eax
41c059:	8b 10                	mov    (%eax),%edx
41c05b:	41                   	inc    %ecx
41c05c:	3b ce                	cmp    %esi,%ecx
41c05e:	89 38                	mov    %edi,(%eax)
41c060:	8b fa                	mov    %edx,%edi
41c062:	7e ee                	jle    0x41c052
41c064:	6a 00                	push   $0x0
41c066:	68 f0 c8 4a 00       	push   $0x4ac8f0
41c06b:	ff d3                	call   *%ebx
41c06d:	e9 1d fe ff ff       	jmp    0x41be8f
41c072:	83 c8 ff             	or     $0xffffffff,%eax
41c075:	5f                   	pop    %edi
41c076:	5e                   	pop    %esi
41c077:	5b                   	pop    %ebx
41c078:	c9                   	leave
41c079:	c3                   	ret
41c07a:	8b 46 04             	mov    0x4(%esi),%eax
41c07d:	85 c0                	test   %eax,%eax
41c07f:	74 44                	je     0x41c0c5
41c081:	8d 50 08             	lea    0x8(%eax),%edx
41c084:	80 3a 00             	cmpb   $0x0,(%edx)
41c087:	74 3c                	je     0x41c0c5
41c089:	8b 4f 04             	mov    0x4(%edi),%ecx
41c08c:	3b c1                	cmp    %ecx,%eax
41c08e:	74 10                	je     0x41c0a0
41c090:	83 c1 08             	add    $0x8,%ecx
41c093:	51                   	push   %ecx
41c094:	52                   	push   %edx
41c095:	e8 76 2c 00 00       	call   0x41ed10
41c09a:	85 c0                	test   %eax,%eax
41c09c:	59                   	pop    %ecx
41c09d:	59                   	pop    %ecx
41c09e:	75 22                	jne    0x41c0c2
41c0a0:	f6 07 02             	testb  $0x2,(%edi)
41c0a3:	74 05                	je     0x41c0aa
41c0a5:	f6 06 08             	testb  $0x8,(%esi)
41c0a8:	74 18                	je     0x41c0c2
41c0aa:	8b 44 24 04          	mov    0x4(%esp),%eax
41c0ae:	8b 00                	mov    (%eax),%eax
41c0b0:	a8 01                	test   $0x1,%al
41c0b2:	74 05                	je     0x41c0b9
41c0b4:	f6 06 01             	testb  $0x1,(%esi)
41c0b7:	74 09                	je     0x41c0c2
41c0b9:	a8 02                	test   $0x2,%al
41c0bb:	74 08                	je     0x41c0c5
41c0bd:	f6 06 02             	testb  $0x2,(%esi)
41c0c0:	75 03                	jne    0x41c0c5
41c0c2:	33 c0                	xor    %eax,%eax
41c0c4:	c3                   	ret
41c0c5:	33 c0                	xor    %eax,%eax
41c0c7:	40                   	inc    %eax
41c0c8:	c3                   	ret
41c0c9:	8b 00                	mov    (%eax),%eax
41c0cb:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
41c0d1:	74 03                	je     0x41c0d6
41c0d3:	33 c0                	xor    %eax,%eax
41c0d5:	c3                   	ret
41c0d6:	e8 cc 0b 00 00       	call   0x41cca7
41c0db:	83 a0 84 00 00 00 00 	andl   $0x0,0x84(%eax)
41c0e2:	e9 a2 0e 00 00       	jmp    0x41cf89
41c0e7:	6a 10                	push   $0x10
41c0e9:	68 48 1e 49 00       	push   $0x491e48
41c0ee:	e8 f5 c0 ff ff       	call   0x4181e8
41c0f3:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c0f6:	8b 73 08             	mov    0x8(%ebx),%esi
41c0f9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41c0fc:	e8 a6 0b 00 00       	call   0x41cca7
41c101:	05 84 00 00 00       	add    $0x84,%eax
41c106:	ff 00                	incl   (%eax)
41c108:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c10c:	8b 7d 10             	mov    0x10(%ebp),%edi
41c10f:	3b 75 14             	cmp    0x14(%ebp),%esi
41c112:	74 64                	je     0x41c178
41c114:	83 fe ff             	cmp    $0xffffffff,%esi
41c117:	7e 05                	jle    0x41c11e
41c119:	3b 77 04             	cmp    0x4(%edi),%esi
41c11c:	7c 05                	jl     0x41c123
41c11e:	e8 b3 0e 00 00       	call   0x41cfd6
41c123:	8b c6                	mov    %esi,%eax
41c125:	c1 e0 03             	shl    $0x3,%eax
41c128:	8b 4f 08             	mov    0x8(%edi),%ecx
41c12b:	03 c8                	add    %eax,%ecx
41c12d:	8b 31                	mov    (%ecx),%esi
41c12f:	89 75 e0             	mov    %esi,-0x20(%ebp)
41c132:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41c139:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
41c13d:	74 15                	je     0x41c154
41c13f:	89 73 08             	mov    %esi,0x8(%ebx)
41c142:	68 03 01 00 00       	push   $0x103
41c147:	53                   	push   %ebx
41c148:	8b 4f 08             	mov    0x8(%edi),%ecx
41c14b:	ff 74 01 04          	push   0x4(%ecx,%eax,1)
41c14f:	e8 bc 0e 00 00       	call   0x41d010
41c154:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c158:	eb 19                	jmp    0x41c173
41c15a:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c15d:	e8 67 ff ff ff       	call   0x41c0c9
41c162:	c3                   	ret
41c163:	8b 65 e8             	mov    -0x18(%ebp),%esp
41c166:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41c16a:	8b 7d 10             	mov    0x10(%ebp),%edi
41c16d:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c170:	8b 75 e0             	mov    -0x20(%ebp),%esi