41ede4:	8b 5d 10             	mov    0x10(%ebp),%ebx
41ede7:	8b 75 08             	mov    0x8(%ebp),%esi
41edea:	85 db                	test   %ebx,%ebx
41edec:	74 68                	je     0x41ee56
41edee:	57                   	push   %edi
41edef:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41edf2:	e8 68 ff ff ff       	call   0x41ed5f
41edf7:	ff 75 14             	push   0x14(%ebp)
41edfa:	50                   	push   %eax
41edfb:	8d 45 f8             	lea    -0x8(%ebp),%eax
41edfe:	57                   	push   %edi
41edff:	50                   	push   %eax
41ee00:	e8 69 2c 00 00       	call   0x421a6e
41ee05:	8b d0                	mov    %eax,%edx
41ee07:	83 c4 10             	add    $0x10,%esp
41ee0a:	83 fa ff             	cmp    $0xffffffff,%edx
41ee0d:	74 5c                	je     0x41ee6b
41ee0f:	85 d2                	test   %edx,%edx
41ee11:	74 4f                	je     0x41ee62
41ee13:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ee16:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
41ee1c:	76 2b                	jbe    0x41ee49
41ee1e:	83 fb 01             	cmp    $0x1,%ebx
41ee21:	76 33                	jbe    0x41ee56
41ee23:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
41ee29:	4b                   	dec    %ebx
41ee2a:	8b c1                	mov    %ecx,%eax
41ee2c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41ee2f:	c1 e8 0a             	shr    $0xa,%eax
41ee32:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
41ee38:	0d 00 d8 00 00       	or     $0xd800,%eax
41ee3d:	66 89 06             	mov    %ax,(%esi)
41ee40:	83 c6 02             	add    $0x2,%esi
41ee43:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
41ee49:	66 89 0e             	mov    %cx,(%esi)
41ee4c:	03 fa                	add    %edx,%edi
41ee4e:	83 c6 02             	add    $0x2,%esi
41ee51:	83 eb 01             	sub    $0x1,%ebx
41ee54:	75 98                	jne    0x41edee
41ee56:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41ee59:	2b 75 08             	sub    0x8(%ebp),%esi
41ee5c:	d1 fe                	sar    $1,%esi
41ee5e:	89 3b                	mov    %edi,(%ebx)
41ee60:	eb 59                	jmp    0x41eebb
41ee62:	33 ff                	xor    %edi,%edi
41ee64:	33 c0                	xor    %eax,%eax
41ee66:	66 89 06             	mov    %ax,(%esi)
41ee69:	eb eb                	jmp    0x41ee56
41ee6b:	8b 45 0c             	mov    0xc(%ebp),%eax
41ee6e:	89 38                	mov    %edi,(%eax)
41ee70:	e8 86 ff fe ff       	call   0x40edfb
41ee75:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41ee7b:	83 c8 ff             	or     $0xffffffff,%eax
41ee7e:	eb 3d                	jmp    0x41eebd
41ee80:	33 db                	xor    %ebx,%ebx
41ee82:	eb 0d                	jmp    0x41ee91
41ee84:	85 f6                	test   %esi,%esi
41ee86:	74 3a                	je     0x41eec2
41ee88:	83 fe 04             	cmp    $0x4,%esi
41ee8b:	75 01                	jne    0x41ee8e
41ee8d:	43                   	inc    %ebx
41ee8e:	03 fe                	add    %esi,%edi
41ee90:	43                   	inc    %ebx
41ee91:	57                   	push   %edi
41ee92:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41ee95:	e8 c5 fe ff ff       	call   0x41ed5f
41ee9a:	ff 75 14             	push   0x14(%ebp)
41ee9d:	50                   	push   %eax
41ee9e:	57                   	push   %edi
41ee9f:	6a 00                	push   $0x0
41eea1:	e8 c8 2b 00 00       	call   0x421a6e
41eea6:	8b f0                	mov    %eax,%esi
41eea8:	83 c4 10             	add    $0x10,%esp
41eeab:	83 fe ff             	cmp    $0xffffffff,%esi
41eeae:	75 d4                	jne    0x41ee84
41eeb0:	e8 46 ff fe ff       	call   0x40edfb
41eeb5:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41eebb:	8b c6                	mov    %esi,%eax
41eebd:	5f                   	pop    %edi
41eebe:	5e                   	pop    %esi
41eebf:	5b                   	pop    %ebx
41eec0:	c9                   	leave
41eec1:	c3                   	ret
41eec2:	8b c3                	mov    %ebx,%eax
41eec4:	eb f7                	jmp    0x41eebd
41eec6:	8b ff                	mov    %edi,%edi
41eec8:	55                   	push   %ebp
41eec9:	8b ec                	mov    %esp,%ebp
41eecb:	8b 55 08             	mov    0x8(%ebp),%edx
41eece:	85 d2                	test   %edx,%edx
41eed0:	75 0f                	jne    0x41eee1
41eed2:	33 c9                	xor    %ecx,%ecx
41eed4:	8b 45 10             	mov    0x10(%ebp),%eax
41eed7:	89 08                	mov    %ecx,(%eax)
41eed9:	89 48 04             	mov    %ecx,0x4(%eax)
41eedc:	33 c0                	xor    %eax,%eax
41eede:	40                   	inc    %eax
41eedf:	5d                   	pop    %ebp
41eee0:	c3                   	ret
41eee1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41eee4:	85 c9                	test   %ecx,%ecx
41eee6:	75 04                	jne    0x41eeec
41eee8:	88 0a                	mov    %cl,(%edx)
41eeea:	eb e8                	jmp    0x41eed4
41eeec:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
41eef2:	75 04                	jne    0x41eef8
41eef4:	88 0a                	mov    %cl,(%edx)
41eef6:	eb e4                	jmp    0x41eedc
41eef8:	53                   	push   %ebx
41eef9:	56                   	push   %esi
41eefa:	f7 c1 00 f8 ff ff    	test   $0xfffff800,%ecx
41ef00:	75 07                	jne    0x41ef09
41ef02:	33 f6                	xor    %esi,%esi
41ef04:	b3 c0                	mov    $0xc0,%bl
41ef06:	46                   	inc    %esi
41ef07:	eb 33                	jmp    0x41ef3c
41ef09:	f7 c1 00 00 ff ff    	test   $0xffff0000,%ecx
41ef0f:	75 16                	jne    0x41ef27
41ef11:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
41ef17:	72 08                	jb     0x41ef21
41ef19:	81 f9 ff df 00 00    	cmp    $0xdfff,%ecx
41ef1f:	76 43                	jbe    0x41ef64
41ef21:	6a 02                	push   $0x2
41ef23:	b3 e0                	mov    $0xe0,%bl
41ef25:	eb 14                	jmp    0x41ef3b
41ef27:	f7 c1 00 00 e0 ff    	test   $0xffe00000,%ecx
41ef2d:	75 35                	jne    0x41ef64
41ef2f:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
41ef35:	77 2d                	ja     0x41ef64
41ef37:	6a 03                	push   $0x3
41ef39:	b3 f0                	mov    $0xf0,%bl
41ef3b:	5e                   	pop    %esi
41ef3c:	57                   	push   %edi
41ef3d:	8b fe                	mov    %esi,%edi
41ef3f:	8a c1                	mov    %cl,%al
41ef41:	c1 e9 06             	shr    $0x6,%ecx
41ef44:	24 3f                	and    $0x3f,%al
41ef46:	0c 80                	or     $0x80,%al
41ef48:	88 04 17             	mov    %al,(%edi,%edx,1)
41ef4b:	83 ef 01             	sub    $0x1,%edi
41ef4e:	75 ef                	jne    0x41ef3f
41ef50:	8b 45 10             	mov    0x10(%ebp),%eax
41ef53:	0a cb                	or     %bl,%cl
41ef55:	88 0a                	mov    %cl,(%edx)
41ef57:	33 c9                	xor    %ecx,%ecx
41ef59:	5f                   	pop    %edi
41ef5a:	89 08                	mov    %ecx,(%eax)
41ef5c:	89 48 04             	mov    %ecx,0x4(%eax)
41ef5f:	8d 46 01             	lea    0x1(%esi),%eax
41ef62:	eb 09                	jmp    0x41ef6d
41ef64:	ff 75 10             	push   0x10(%ebp)
41ef67:	e8 05 00 00 00       	call   0x41ef71
41ef6c:	59                   	pop    %ecx
41ef6d:	5e                   	pop    %esi
41ef6e:	5b                   	pop    %ebx
41ef6f:	5d                   	pop    %ebp
41ef70:	c3                   	ret
41ef71:	8b ff                	mov    %edi,%edi
41ef73:	55                   	push   %ebp
41ef74:	8b ec                	mov    %esp,%ebp
41ef76:	8b 45 08             	mov    0x8(%ebp),%eax
41ef79:	83 20 00             	andl   $0x0,(%eax)
41ef7c:	83 60 04 00          	andl   $0x0,0x4(%eax)
41ef80:	e8 76 fe fe ff       	call   0x40edfb
41ef85:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41ef8b:	83 c8 ff             	or     $0xffffffff,%eax
41ef8e:	5d                   	pop    %ebp
41ef8f:	c3                   	ret
41ef90:	8b ff                	mov    %edi,%edi
41ef92:	55                   	push   %ebp
41ef93:	8b ec                	mov    %esp,%ebp
41ef95:	5d                   	pop    %ebp
41ef96:	e9 2b ff ff ff       	jmp    0x41eec6
41ef9b:	8b ff                	mov    %edi,%edi
41ef9d:	55                   	push   %ebp
41ef9e:	8b ec                	mov    %esp,%ebp
41efa0:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41efa4:	75 0b                	jne    0x41efb1
41efa6:	8b 45 08             	mov    0x8(%ebp),%eax
41efa9:	80 38 35             	cmpb   $0x35,(%eax)
41efac:	0f 9d c0             	setge  %al
41efaf:	5d                   	pop    %ebp
41efb0:	c3                   	ret
41efb1:	e8 87 9f ff ff       	call   0x418f3d
41efb6:	85 c0                	test   %eax,%eax
41efb8:	75 2b                	jne    0x41efe5
41efba:	8b 55 08             	mov    0x8(%ebp),%edx
41efbd:	8a 02                	mov    (%edx),%al
41efbf:	3c 35                	cmp    $0x35,%al
41efc1:	7f 0b                	jg     0x41efce
41efc3:	7c 4c                	jl     0x41f011
41efc5:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41efc9:	8d 42 01             	lea    0x1(%edx),%eax
41efcc:	75 05                	jne    0x41efd3
41efce:	b0 01                	mov    $0x1,%al
41efd0:	5d                   	pop    %ebp
41efd1:	c3                   	ret
41efd2:	40                   	inc    %eax
41efd3:	8a 08                	mov    (%eax),%cl
41efd5:	80 f9 30             	cmp    $0x30,%cl
41efd8:	74 f8                	je     0x41efd2
41efda:	84 c9                	test   %cl,%cl
41efdc:	75 f0                	jne    0x41efce
41efde:	8a 42 ff             	mov    -0x1(%edx),%al
41efe1:	24 01                	and    $0x1,%al
41efe3:	5d                   	pop    %ebp
41efe4:	c3                   	ret
41efe5:	3d 00 02 00 00       	cmp    $0x200,%eax
41efea:	75 10                	jne    0x41effc
41efec:	8b 45 08             	mov    0x8(%ebp),%eax
41efef:	80 38 30             	cmpb   $0x30,(%eax)
41eff2:	74 1d                	je     0x41f011
41eff4:	83 7d 0c 2d          	cmpl   $0x2d,0xc(%ebp)
41eff8:	74 17                	je     0x41f011
41effa:	eb d2                	jmp    0x41efce
41effc:	3d 00 01 00 00       	cmp    $0x100,%eax
41f001:	75 0e                	jne    0x41f011
41f003:	8b 45 08             	mov    0x8(%ebp),%eax
41f006:	80 38 30             	cmpb   $0x30,(%eax)
41f009:	74 06                	je     0x41f011
41f00b:	83 7d 0c 2d          	cmpl   $0x2d,0xc(%ebp)
41f00f:	74 bd                	je     0x41efce
41f011:	32 c0                	xor    %al,%al
41f013:	5d                   	pop    %ebp
41f014:	c3                   	ret
41f015:	8b ff                	mov    %edi,%edi
41f017:	55                   	push   %ebp
41f018:	8b ec                	mov    %esp,%ebp
41f01a:	56                   	push   %esi
41f01b:	57                   	push   %edi
41f01c:	8b 7d 08             	mov    0x8(%ebp),%edi
41f01f:	85 ff                	test   %edi,%edi
41f021:	75 16                	jne    0x41f039
41f023:	e8 d3 fd fe ff       	call   0x40edfb
41f028:	6a 16                	push   $0x16
41f02a:	5e                   	pop    %esi
41f02b:	89 30                	mov    %esi,(%eax)
41f02d:	e8 4f e0 fe ff       	call   0x40d081
41f032:	8b c6                	mov    %esi,%eax
41f034:	e9 b4 00 00 00       	jmp    0x41f0ed
41f039:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41f03d:	53                   	push   %ebx
41f03e:	76 26                	jbe    0x41f066
41f040:	8b 4d 10             	mov    0x10(%ebp),%ecx
41f043:	c6 07 00             	movb   $0x0,(%edi)
41f046:	85 c9                	test   %ecx,%ecx
41f048:	7e 04                	jle    0x41f04e
41f04a:	8b c1                	mov    %ecx,%eax
41f04c:	eb 02                	jmp    0x41f050
41f04e:	33 c0                	xor    %eax,%eax
41f050:	40                   	inc    %eax
41f051:	39 45 0c             	cmp    %eax,0xc(%ebp)
41f054:	77 09                	ja     0x41f05f
41f056:	e8 a0 fd fe ff       	call   0x40edfb
41f05b:	6a 22                	push   $0x22
41f05d:	eb 0e                	jmp    0x41f06d
41f05f:	8b 5d 14             	mov    0x14(%ebp),%ebx
41f062:	85 db                	test   %ebx,%ebx
41f064:	75 13                	jne    0x41f079
41f066:	e8 90 fd fe ff       	call   0x40edfb
41f06b:	6a 16                	push   $0x16
41f06d:	5e                   	pop    %esi
41f06e:	89 30                	mov    %esi,(%eax)
41f070:	e8 0c e0 fe ff       	call   0x40d081
41f075:	8b c6                	mov    %esi,%eax
41f077:	eb 73                	jmp    0x41f0ec
41f079:	8b 43 08             	mov    0x8(%ebx),%eax
41f07c:	8d 77 01             	lea    0x1(%edi),%esi
41f07f:	c6 07 30             	movb   $0x30,(%edi)
41f082:	eb 0f                	jmp    0x41f093
41f084:	8a 10                	mov    (%eax),%dl
41f086:	84 d2                	test   %dl,%dl
41f088:	74 03                	je     0x41f08d
41f08a:	40                   	inc    %eax
41f08b:	eb 02                	jmp    0x41f08f
41f08d:	b2 30                	mov    $0x30,%dl
41f08f:	88 16                	mov    %dl,(%esi)
41f091:	46                   	inc    %esi
41f092:	49                   	dec    %ecx
41f093:	85 c9                	test   %ecx,%ecx
41f095:	7f ed                	jg     0x41f084
41f097:	c6 06 00             	movb   $0x0,(%esi)
41f09a:	78 25                	js     0x41f0c1
41f09c:	ff 75 1c             	push   0x1c(%ebp)
41f09f:	ff 75 18             	push   0x18(%ebp)
41f0a2:	ff 33                	push   (%ebx)
41f0a4:	50                   	push   %eax
41f0a5:	e8 f1 fe ff ff       	call   0x41ef9b
41f0aa:	83 c4 10             	add    $0x10,%esp
41f0ad:	84 c0                	test   %al,%al
41f0af:	74 10                	je     0x41f0c1
41f0b1:	eb 03                	jmp    0x41f0b6
41f0b3:	c6 06 30             	movb   $0x30,(%esi)
41f0b6:	4e                   	dec    %esi
41f0b7:	8a 06                	mov    (%esi),%al
41f0b9:	3c 39                	cmp    $0x39,%al
41f0bb:	74 f6                	je     0x41f0b3
41f0bd:	fe c0                	inc    %al
41f0bf:	88 06                	mov    %al,(%esi)
41f0c1:	80 3f 31             	cmpb   $0x31,(%edi)
41f0c4:	75 05                	jne    0x41f0cb
41f0c6:	ff 43 04             	incl   0x4(%ebx)
41f0c9:	eb 1f                	jmp    0x41f0ea
41f0cb:	8d 77 01             	lea    0x1(%edi),%esi
41f0ce:	8b ce                	mov    %esi,%ecx
41f0d0:	8d 51 01             	lea    0x1(%ecx),%edx
41f0d3:	8a 01                	mov    (%ecx),%al
41f0d5:	41                   	inc    %ecx
41f0d6:	84 c0                	test   %al,%al
41f0d8:	75 f9                	jne    0x41f0d3
41f0da:	2b ca                	sub    %edx,%ecx
41f0dc:	8d 41 01             	lea    0x1(%ecx),%eax
41f0df:	50                   	push   %eax
41f0e0:	56                   	push   %esi
41f0e1:	57                   	push   %edi
41f0e2:	e8 89 98 fe ff       	call   0x408970
41f0e7:	83 c4 0c             	add    $0xc,%esp
41f0ea:	33 c0                	xor    %eax,%eax
41f0ec:	5b                   	pop    %ebx
41f0ed:	5f                   	pop    %edi
41f0ee:	5e                   	pop    %esi
41f0ef:	5d                   	pop    %ebp
41f0f0:	c3                   	ret
41f0f1:	8b ff                	mov    %edi,%edi
41f0f3:	55                   	push   %ebp
41f0f4:	8b ec                	mov    %esp,%ebp
41f0f6:	81 ec 64 09 00 00    	sub    $0x964,%esp
41f0fc:	a1 14 30 43 00       	mov    0x433014,%eax
41f101:	33 c5                	xor    %ebp,%eax
41f103:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f106:	8b 45 14             	mov    0x14(%ebp),%eax
41f109:	89 85 7c f8 ff ff    	mov    %eax,-0x784(%ebp)
41f10f:	8b 45 18             	mov    0x18(%ebp),%eax
41f112:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
41f118:	8d 85 70 f8 ff ff    	lea    -0x790(%ebp),%eax
41f11e:	53                   	push   %ebx
41f11f:	50                   	push   %eax
41f120:	e8 f0 2a 00 00       	call   0x421c15
41f125:	8b 85 70 f8 ff ff    	mov    -0x790(%ebp),%eax
41f12b:	33 db                	xor    %ebx,%ebx
41f12d:	83 e0 1f             	and    $0x1f,%eax
41f130:	43                   	inc    %ebx
41f131:	59                   	pop    %ecx
41f132:	3c 1f                	cmp    $0x1f,%al
41f134:	75 09                	jne    0x41f13f
41f136:	c6 85 78 f8 ff ff 00 	movb   $0x0,-0x788(%ebp)
41f13d:	eb 13                	jmp    0x41f152
41f13f:	8d 85 70 f8 ff ff    	lea    -0x790(%ebp),%eax
41f145:	50                   	push   %eax
41f146:	e8 32 2b 00 00       	call   0x421c7d