425f6f:	8d 45 fc             	lea    -0x4(%ebp),%eax
425f72:	50                   	push   %eax
425f73:	68 00 01 00 00       	push   $0x100
425f78:	57                   	push   %edi
425f79:	e8 ca 22 00 00       	call   0x428248
425f7e:	83 c4 20             	add    $0x20,%esp
425f81:	85 c0                	test   %eax,%eax
425f83:	75 04                	jne    0x425f89
425f85:	8b c3                	mov    %ebx,%eax
425f87:	eb 12                	jmp    0x425f9b
425f89:	83 f8 01             	cmp    $0x1,%eax
425f8c:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
425f90:	74 09                	je     0x425f9b
425f92:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
425f96:	c1 e0 08             	shl    $0x8,%eax
425f99:	0b c1                	or     %ecx,%eax
425f9b:	5b                   	pop    %ebx
425f9c:	5f                   	pop    %edi
425f9d:	5e                   	pop    %esi
425f9e:	c9                   	leave
425f9f:	c3                   	ret
425fa0:	55                   	push   %ebp
425fa1:	8b ec                	mov    %esp,%ebp
425fa3:	56                   	push   %esi
425fa4:	57                   	push   %edi
425fa5:	8b 7d 08             	mov    0x8(%ebp),%edi
425fa8:	33 f6                	xor    %esi,%esi
425faa:	6a 2c                	push   $0x2c
425fac:	56                   	push   %esi
425fad:	57                   	push   %edi
425fae:	e8 ad de 01 00       	call   0x443e60
425fb3:	83 c4 0c             	add    $0xc,%esp
425fb6:	e8 07 21 04 00       	call   0x4680c2
425fbb:	89 07                	mov    %eax,(%edi)
425fbd:	e8 77 21 04 00       	call   0x468139
425fc2:	89 47 04             	mov    %eax,0x4(%edi)
425fc5:	e8 46 21 04 00       	call   0x468110
425fca:	8b 48 08             	mov    0x8(%eax),%ecx
425fcd:	33 c0                	xor    %eax,%eax
425fcf:	85 c9                	test   %ecx,%ecx
425fd1:	0f 94 c0             	sete   %al
425fd4:	89 47 08             	mov    %eax,0x8(%edi)
425fd7:	85 c9                	test   %ecx,%ecx
425fd9:	74 32                	je     0x42600d
425fdb:	53                   	push   %ebx
425fdc:	e8 36 25 04 00       	call   0x468517
425fe1:	8b d8                	mov    %eax,%ebx
425fe3:	33 c0                	xor    %eax,%eax
425fe5:	66 39 04 73          	cmp    %ax,(%ebx,%esi,2)
425fe9:	7d 18                	jge    0x426003
425feb:	8b d6                	mov    %esi,%edx
425fed:	8b c6                	mov    %esi,%eax
425fef:	c1 fa 03             	sar    $0x3,%edx
425ff2:	83 e0 07             	and    $0x7,%eax
425ff5:	0f b6 4c 3a 0c       	movzbl 0xc(%edx,%edi,1),%ecx
425ffa:	0f ab c1             	bts    %eax,%ecx
425ffd:	33 c0                	xor    %eax,%eax
425fff:	88 4c 3a 0c          	mov    %cl,0xc(%edx,%edi,1)
426003:	46                   	inc    %esi
426004:	81 fe 00 01 00 00    	cmp    $0x100,%esi
42600a:	7c d9                	jl     0x425fe5
42600c:	5b                   	pop    %ebx
42600d:	8b c7                	mov    %edi,%eax
42600f:	5f                   	pop    %edi
426010:	5e                   	pop    %esi
426011:	5d                   	pop    %ebp
426012:	c3                   	ret
426013:	55                   	push   %ebp
426014:	8b ec                	mov    %esp,%ebp
426016:	51                   	push   %ecx
426017:	8b 45 14             	mov    0x14(%ebp),%eax
42601a:	8b 4d 08             	mov    0x8(%ebp),%ecx
42601d:	56                   	push   %esi
42601e:	33 f6                	xor    %esi,%esi
426020:	39 70 08             	cmp    %esi,0x8(%eax)
426023:	74 15                	je     0x42603a
426025:	66 8b 45 0c          	mov    0xc(%ebp),%ax
426029:	ba ff 00 00 00       	mov    $0xff,%edx
42602e:	66 3b c2             	cmp    %dx,%ax
426031:	77 2b                	ja     0x42605e
426033:	88 01                	mov    %al,(%ecx)
426035:	33 c0                	xor    %eax,%eax
426037:	40                   	inc    %eax
426038:	eb 32                	jmp    0x42606c
42603a:	8d 55 fc             	lea    -0x4(%ebp),%edx
42603d:	89 75 fc             	mov    %esi,-0x4(%ebp)
426040:	52                   	push   %edx
426041:	56                   	push   %esi
426042:	ff 70 04             	push   0x4(%eax)
426045:	51                   	push   %ecx
426046:	6a 01                	push   $0x1
426048:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42604b:	51                   	push   %ecx
42604c:	56                   	push   %esi
42604d:	ff 30                	push   (%eax)
42604f:	ff 15 78 41 49 00    	call   *0x494178
426055:	85 c0                	test   %eax,%eax
426057:	74 05                	je     0x42605e
426059:	39 75 fc             	cmp    %esi,-0x4(%ebp)
42605c:	74 0e                	je     0x42606c
42605e:	e8 cc 6d 02 00       	call   0x44ce2f
426063:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
426069:	83 c8 ff             	or     $0xffffffff,%eax
42606c:	5e                   	pop    %esi
42606d:	c9                   	leave
42606e:	c3                   	ret
42606f:	55                   	push   %ebp
426070:	8b ec                	mov    %esp,%ebp
426072:	5d                   	pop    %ebp
426073:	e9 9b ff ff ff       	jmp    0x426013
426078:	55                   	push   %ebp
426079:	8b ec                	mov    %esp,%ebp
42607b:	8a 4d 0c             	mov    0xc(%ebp),%cl
42607e:	8a c1                	mov    %cl,%al
426080:	24 c0                	and    $0xc0,%al
426082:	3c 80                	cmp    $0x80,%al
426084:	75 16                	jne    0x42609c
426086:	0f b6 d1             	movzbl %cl,%edx
426089:	8b 4d 08             	mov    0x8(%ebp),%ecx
42608c:	83 e2 3f             	and    $0x3f,%edx
42608f:	8b 01                	mov    (%ecx),%eax
426091:	c1 e0 06             	shl    $0x6,%eax
426094:	0b d0                	or     %eax,%edx
426096:	33 c0                	xor    %eax,%eax
426098:	89 11                	mov    %edx,(%ecx)
42609a:	5d                   	pop    %ebp
42609b:	c3                   	ret
42609c:	33 c0                	xor    %eax,%eax
42609e:	40                   	inc    %eax
42609f:	5d                   	pop    %ebp
4260a0:	c3                   	ret
4260a1:	55                   	push   %ebp
4260a2:	8b ec                	mov    %esp,%ebp
4260a4:	51                   	push   %ecx
4260a5:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4260a9:	75 04                	jne    0x4260af
4260ab:	33 c0                	xor    %eax,%eax
4260ad:	c9                   	leave
4260ae:	c3                   	ret
4260af:	53                   	push   %ebx
4260b0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4260b3:	8a 13                	mov    (%ebx),%dl
4260b5:	84 d2                	test   %dl,%dl
4260b7:	75 0f                	jne    0x4260c8
4260b9:	8b 45 08             	mov    0x8(%ebp),%eax
4260bc:	33 c9                	xor    %ecx,%ecx
4260be:	66 89 08             	mov    %cx,(%eax)
4260c1:	33 c0                	xor    %eax,%eax
4260c3:	e9 08 01 00 00       	jmp    0x4261d0
4260c8:	56                   	push   %esi
4260c9:	57                   	push   %edi
4260ca:	8b 7d 18             	mov    0x18(%ebp),%edi
4260cd:	88 55 fc             	mov    %dl,-0x4(%ebp)
4260d0:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
4260d4:	0f 85 e8 00 00 00    	jne    0x4261c2
4260da:	8b 47 04             	mov    0x4(%edi),%eax
4260dd:	83 e8 01             	sub    $0x1,%eax
4260e0:	0f 84 b5 00 00 00    	je     0x42619b
4260e6:	83 e8 01             	sub    $0x1,%eax
4260e9:	74 6d                	je     0x426158
4260eb:	48                   	dec    %eax
4260ec:	83 e8 01             	sub    $0x1,%eax
4260ef:	0f 85 a6 00 00 00    	jne    0x42619b
4260f5:	ff 75 fc             	push   -0x4(%ebp)
4260f8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4260fb:	50                   	push   %eax
4260fc:	e8 d2 00 00 00       	call   0x4261d3
426101:	59                   	pop    %ecx
426102:	59                   	pop    %ecx
426103:	8b c8                	mov    %eax,%ecx
426105:	85 c9                	test   %ecx,%ecx
426107:	0f 84 b5 00 00 00    	je     0x4261c2
42610d:	83 f9 02             	cmp    $0x2,%ecx
426110:	0f 8f 9c 00 00 00    	jg     0x4261b2
426116:	8b 55 fc             	mov    -0x4(%ebp),%edx
426119:	33 f6                	xor    %esi,%esi
42611b:	46                   	inc    %esi
42611c:	3b 75 10             	cmp    0x10(%ebp),%esi
42611f:	73 54                	jae    0x426175
426121:	8a 24 1e             	mov    (%esi,%ebx,1),%ah
426124:	8a c4                	mov    %ah,%al
426126:	24 c0                	and    $0xc0,%al
426128:	3c 80                	cmp    $0x80,%al
42612a:	0f 85 82 00 00 00    	jne    0x4261b2
426130:	0f b6 c4             	movzbl %ah,%eax
426133:	83 e0 3f             	and    $0x3f,%eax
426136:	c1 e2 06             	shl    $0x6,%edx
426139:	0b d0                	or     %eax,%edx
42613b:	46                   	inc    %esi
42613c:	83 e9 01             	sub    $0x1,%ecx
42613f:	75 db                	jne    0x42611c
426141:	8d 82 00 28 ff ff    	lea    -0xd800(%edx),%eax
426147:	3d ff 07 00 00       	cmp    $0x7ff,%eax
42614c:	76 64                	jbe    0x4261b2
42614e:	8b 4d 08             	mov    0x8(%ebp),%ecx
426151:	66 89 11             	mov    %dx,(%ecx)
426154:	8b c6                	mov    %esi,%eax
426156:	eb 76                	jmp    0x4261ce
426158:	0f b6 d2             	movzbl %dl,%edx
42615b:	33 f6                	xor    %esi,%esi
42615d:	8b ca                	mov    %edx,%ecx
42615f:	46                   	inc    %esi
426160:	83 e1 07             	and    $0x7,%ecx
426163:	c1 ea 03             	shr    $0x3,%edx
426166:	8b c6                	mov    %esi,%eax
426168:	d3 e0                	shl    %cl,%eax
42616a:	84 44 3a 0c          	test   %al,0xc(%edx,%edi,1)
42616e:	74 0f                	je     0x42617f
426170:	39 75 10             	cmp    %esi,0x10(%ebp)
426173:	75 05                	jne    0x42617a
426175:	6a fe                	push   $0xfffffffe
426177:	58                   	pop    %eax
426178:	eb 54                	jmp    0x4261ce
42617a:	6a 02                	push   $0x2
42617c:	5b                   	pop    %ebx
42617d:	eb 02                	jmp    0x426181
42617f:	8b de                	mov    %esi,%ebx
426181:	56                   	push   %esi
426182:	ff 75 08             	push   0x8(%ebp)
426185:	53                   	push   %ebx
426186:	ff 75 0c             	push   0xc(%ebp)
426189:	6a 09                	push   $0x9
42618b:	ff 37                	push   (%edi)
42618d:	ff 15 74 41 49 00    	call   *0x494174
426193:	85 c0                	test   %eax,%eax
426195:	74 1b                	je     0x4261b2
426197:	8b c3                	mov    %ebx,%eax
426199:	eb 33                	jmp    0x4261ce
42619b:	33 f6                	xor    %esi,%esi
42619d:	46                   	inc    %esi
42619e:	56                   	push   %esi
42619f:	ff 75 08             	push   0x8(%ebp)
4261a2:	56                   	push   %esi
4261a3:	53                   	push   %ebx
4261a4:	6a 09                	push   $0x9
4261a6:	ff 37                	push   (%edi)
4261a8:	ff 15 74 41 49 00    	call   *0x494174
4261ae:	85 c0                	test   %eax,%eax
4261b0:	75 a2                	jne    0x426154
4261b2:	e8 78 6c 02 00       	call   0x44ce2f
4261b7:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4261bd:	83 c8 ff             	or     $0xffffffff,%eax
4261c0:	eb 0c                	jmp    0x4261ce
4261c2:	8b 45 08             	mov    0x8(%ebp),%eax
4261c5:	0f b6 ca             	movzbl %dl,%ecx
4261c8:	66 89 08             	mov    %cx,(%eax)
4261cb:	33 c0                	xor    %eax,%eax
4261cd:	40                   	inc    %eax
4261ce:	5f                   	pop    %edi
4261cf:	5e                   	pop    %esi
4261d0:	5b                   	pop    %ebx
4261d1:	c9                   	leave
4261d2:	c3                   	ret
4261d3:	55                   	push   %ebp
4261d4:	8b ec                	mov    %esp,%ebp
4261d6:	8a 4d 0c             	mov    0xc(%ebp),%cl
4261d9:	84 c9                	test   %cl,%cl
4261db:	78 04                	js     0x4261e1
4261dd:	33 c0                	xor    %eax,%eax
4261df:	5d                   	pop    %ebp
4261e0:	c3                   	ret
4261e1:	8a c1                	mov    %cl,%al
4261e3:	24 e0                	and    $0xe0,%al
4261e5:	3c c0                	cmp    $0xc0,%al
4261e7:	75 10                	jne    0x4261f9
4261e9:	8b 45 08             	mov    0x8(%ebp),%eax
4261ec:	0f b6 c9             	movzbl %cl,%ecx
4261ef:	83 e1 1f             	and    $0x1f,%ecx
4261f2:	89 08                	mov    %ecx,(%eax)
4261f4:	33 c0                	xor    %eax,%eax
4261f6:	40                   	inc    %eax
4261f7:	5d                   	pop    %ebp
4261f8:	c3                   	ret
4261f9:	8a c1                	mov    %cl,%al
4261fb:	24 f0                	and    $0xf0,%al
4261fd:	3c e0                	cmp    $0xe0,%al
4261ff:	75 10                	jne    0x426211
426201:	0f b6 c9             	movzbl %cl,%ecx
426204:	83 e1 0f             	and    $0xf,%ecx
426207:	6a 02                	push   $0x2
426209:	8b 45 08             	mov    0x8(%ebp),%eax
42620c:	89 08                	mov    %ecx,(%eax)
42620e:	58                   	pop    %eax
42620f:	5d                   	pop    %ebp
426210:	c3                   	ret
426211:	8a c1                	mov    %cl,%al
426213:	24 f8                	and    $0xf8,%al
426215:	3c f0                	cmp    $0xf0,%al
426217:	75 0a                	jne    0x426223
426219:	0f b6 c9             	movzbl %cl,%ecx
42621c:	83 e1 07             	and    $0x7,%ecx
42621f:	6a 03                	push   $0x3
426221:	eb e6                	jmp    0x426209
426223:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426228:	5d                   	pop    %ebp
426229:	c3                   	ret
42622a:	55                   	push   %ebp
42622b:	8b ec                	mov    %esp,%ebp
42622d:	51                   	push   %ecx
42622e:	51                   	push   %ecx
42622f:	8b 4d 18             	mov    0x18(%ebp),%ecx
426232:	53                   	push   %ebx
426233:	56                   	push   %esi
426234:	8b 75 14             	mov    0x14(%ebp),%esi
426237:	83 cb ff             	or     $0xffffffff,%ebx
42623a:	2b 75 10             	sub    0x10(%ebp),%esi
42623d:	57                   	push   %edi
42623e:	8b 7d 0c             	mov    0xc(%ebp),%edi
426241:	2b 7d 08             	sub    0x8(%ebp),%edi
426244:	85 c9                	test   %ecx,%ecx
426246:	75 1a                	jne    0x426262
426248:	e8 c3 1e 04 00       	call   0x468110
42624d:	8b 40 04             	mov    0x4(%eax),%eax
426250:	89 45 fc             	mov    %eax,-0x4(%ebp)
426253:	e8 91 1e 04 00       	call   0x4680e9
426258:	8b c8                	mov    %eax,%ecx
42625a:	89 45 f8             	mov    %eax,-0x8(%ebp)
42625d:	8b 45 fc             	mov    -0x4(%ebp),%eax
426260:	eb 0b                	jmp    0x42626d
426262:	8b 41 04             	mov    0x4(%ecx),%eax
426265:	8b 09                	mov    (%ecx),%ecx
426267:	89 45 fc             	mov    %eax,-0x4(%ebp)
42626a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42626d:	85 c0                	test   %eax,%eax
42626f:	75 1b                	jne    0x42628c
426271:	85 c9                	test   %ecx,%ecx
426273:	75 17                	jne    0x42628c
426275:	3b f7                	cmp    %edi,%esi
426277:	77 0f                	ja     0x426288
426279:	56                   	push   %esi
42627a:	ff 75 10             	push   0x10(%ebp)
42627d:	ff 75 08             	push   0x8(%ebp)
426280:	e8 db d0 01 00       	call   0x443360
426285:	83 c4 0c             	add    $0xc,%esp
426288:	8b de                	mov    %esi,%ebx
42628a:	eb 41                	jmp    0x4262cd
42628c:	6a 01                	push   $0x1
42628e:	51                   	push   %ecx
42628f:	6a 00                	push   $0x0
426291:	6a 00                	push   $0x0
426293:	56                   	push   %esi
426294:	ff 75 10             	push   0x10(%ebp)
426297:	68 00 04 00 00       	push   $0x400
42629c:	50                   	push   %eax
42629d:	e8 a6 1f 00 00       	call   0x428248
4262a2:	83 c4 20             	add    $0x20,%esp
4262a5:	85 c0                	test   %eax,%eax
4262a7:	74 24                	je     0x4262cd
4262a9:	8b d8                	mov    %eax,%ebx
4262ab:	3b c7                	cmp    %edi,%eax