425da6:	c3                   	ret
425da7:	55                   	push   %ebp
425da8:	8b ec                	mov    %esp,%ebp
425daa:	8b 45 18             	mov    0x18(%ebp),%eax
425dad:	53                   	push   %ebx
425dae:	56                   	push   %esi
425daf:	8b 75 0c             	mov    0xc(%ebp),%esi
425db2:	2b 75 08             	sub    0x8(%ebp),%esi
425db5:	57                   	push   %edi
425db6:	8b 7d 14             	mov    0x14(%ebp),%edi
425db9:	2b 7d 10             	sub    0x10(%ebp),%edi
425dbc:	85 c0                	test   %eax,%eax
425dbe:	75 0f                	jne    0x425dcf
425dc0:	e8 4b 23 04 00       	call   0x468110
425dc5:	8b 58 04             	mov    0x4(%eax),%ebx
425dc8:	e8 1c 23 04 00       	call   0x4680e9
425dcd:	eb 05                	jmp    0x425dd4
425dcf:	8b 58 04             	mov    0x4(%eax),%ebx
425dd2:	8b 00                	mov    (%eax),%eax
425dd4:	85 db                	test   %ebx,%ebx
425dd6:	75 2d                	jne    0x425e05
425dd8:	8b c6                	mov    %esi,%eax
425dda:	3b f7                	cmp    %edi,%esi
425ddc:	7c 02                	jl     0x425de0
425dde:	8b c7                	mov    %edi,%eax
425de0:	50                   	push   %eax
425de1:	ff 75 10             	push   0x10(%ebp)
425de4:	ff 75 08             	push   0x8(%ebp)
425de7:	e8 e6 b7 01 00       	call   0x4415d2
425dec:	83 c4 0c             	add    $0xc,%esp
425def:	85 c0                	test   %eax,%eax
425df1:	75 42                	jne    0x425e35
425df3:	3b f7                	cmp    %edi,%esi
425df5:	74 3e                	je     0x425e35
425df7:	3b f7                	cmp    %edi,%esi
425df9:	0f 9d c0             	setge  %al
425dfc:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
425e03:	eb 30                	jmp    0x425e35
425e05:	50                   	push   %eax
425e06:	57                   	push   %edi
425e07:	ff 75 10             	push   0x10(%ebp)
425e0a:	56                   	push   %esi
425e0b:	ff 75 08             	push   0x8(%ebp)
425e0e:	68 00 10 00 00       	push   $0x1000
425e13:	53                   	push   %ebx
425e14:	e8 9d 21 00 00       	call   0x427fb6
425e19:	83 c4 1c             	add    $0x1c,%esp
425e1c:	85 c0                	test   %eax,%eax
425e1e:	75 12                	jne    0x425e32
425e20:	e8 0a 70 02 00       	call   0x44ce2f
425e25:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
425e2b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
425e30:	eb 03                	jmp    0x425e35
425e32:	83 e8 02             	sub    $0x2,%eax
425e35:	5f                   	pop    %edi
425e36:	5e                   	pop    %esi
425e37:	5b                   	pop    %ebx
425e38:	5d                   	pop    %ebp
425e39:	c3                   	ret
425e3a:	55                   	push   %ebp
425e3b:	8b ec                	mov    %esp,%ebp
425e3d:	53                   	push   %ebx
425e3e:	56                   	push   %esi
425e3f:	e8 7e 22 04 00       	call   0x4680c2
425e44:	8b 5d 08             	mov    0x8(%ebp),%ebx
425e47:	6a 02                	push   $0x2
425e49:	68 00 01 00 00       	push   $0x100
425e4e:	89 03                	mov    %eax,(%ebx)
425e50:	e8 2e 6f 02 00       	call   0x44cd83
425e55:	59                   	pop    %ecx
425e56:	8b f0                	mov    %eax,%esi
425e58:	59                   	pop    %ecx
425e59:	89 73 04             	mov    %esi,0x4(%ebx)
425e5c:	e8 b6 26 04 00       	call   0x468517
425e61:	85 f6                	test   %esi,%esi
425e63:	74 17                	je     0x425e7c
425e65:	57                   	push   %edi
425e66:	8b 7b 04             	mov    0x4(%ebx),%edi
425e69:	b9 80 00 00 00       	mov    $0x80,%ecx
425e6e:	8b f0                	mov    %eax,%esi
425e70:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
425e77:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
425e79:	5f                   	pop    %edi
425e7a:	eb 07                	jmp    0x425e83
425e7c:	83 63 08 00          	andl   $0x0,0x8(%ebx)
425e80:	89 43 04             	mov    %eax,0x4(%ebx)
425e83:	e8 88 22 04 00       	call   0x468110
425e88:	8b 40 04             	mov    0x4(%eax),%eax
425e8b:	89 43 0c             	mov    %eax,0xc(%ebx)
425e8e:	85 c0                	test   %eax,%eax
425e90:	74 0a                	je     0x425e9c
425e92:	50                   	push   %eax
425e93:	e8 e5 20 04 00       	call   0x467f7d
425e98:	59                   	pop    %ecx
425e99:	89 43 0c             	mov    %eax,0xc(%ebx)
425e9c:	5e                   	pop    %esi
425e9d:	8b c3                	mov    %ebx,%eax
425e9f:	5b                   	pop    %ebx
425ea0:	5d                   	pop    %ebp
425ea1:	c3                   	ret
425ea2:	55                   	push   %ebp
425ea3:	8b ec                	mov    %esp,%ebp
425ea5:	83 ec 10             	sub    $0x10,%esp
425ea8:	56                   	push   %esi
425ea9:	8b 75 0c             	mov    0xc(%ebp),%esi
425eac:	57                   	push   %edi
425ead:	85 f6                	test   %esi,%esi
425eaf:	75 0f                	jne    0x425ec0
425eb1:	e8 5a 22 04 00       	call   0x468110
425eb6:	8b 78 08             	mov    0x8(%eax),%edi
425eb9:	e8 04 22 04 00       	call   0x4680c2
425ebe:	eb 05                	jmp    0x425ec5
425ec0:	8b 7e 0c             	mov    0xc(%esi),%edi
425ec3:	8b 06                	mov    (%esi),%eax
425ec5:	89 45 f4             	mov    %eax,-0xc(%ebp)
425ec8:	85 ff                	test   %edi,%edi
425eca:	75 1d                	jne    0x425ee9
425ecc:	8b 45 08             	mov    0x8(%ebp),%eax
425ecf:	83 f8 41             	cmp    $0x41,%eax
425ed2:	0f 8c c4 00 00 00    	jl     0x425f9c
425ed8:	83 f8 5a             	cmp    $0x5a,%eax
425edb:	0f 8f bb 00 00 00    	jg     0x425f9c
425ee1:	83 c0 20             	add    $0x20,%eax
425ee4:	e9 b3 00 00 00       	jmp    0x425f9c
425ee9:	53                   	push   %ebx
425eea:	8b 5d 08             	mov    0x8(%ebp),%ebx
425eed:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
425ef3:	73 1a                	jae    0x425f0f
425ef5:	85 f6                	test   %esi,%esi
425ef7:	75 0d                	jne    0x425f06
425ef9:	53                   	push   %ebx
425efa:	e8 82 1e 04 00       	call   0x467d81
425eff:	59                   	pop    %ecx
425f00:	85 c0                	test   %eax,%eax
425f02:	75 0f                	jne    0x425f13
425f04:	eb 7f                	jmp    0x425f85
425f06:	8b 46 04             	mov    0x4(%esi),%eax
425f09:	f6 04 58 01          	testb  $0x1,(%eax,%ebx,2)
425f0d:	74 76                	je     0x425f85
425f0f:	85 f6                	test   %esi,%esi
425f11:	75 1e                	jne    0x425f31
425f13:	8b c3                	mov    %ebx,%eax
425f15:	c1 f8 08             	sar    $0x8,%eax
425f18:	89 45 f0             	mov    %eax,-0x10(%ebp)
425f1b:	e8 f7 25 04 00       	call   0x468517
425f20:	8b 55 f0             	mov    -0x10(%ebp),%edx
425f23:	0f b6 ca             	movzbl %dl,%ecx
425f26:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
425f2a:	25 00 80 00 00       	and    $0x8000,%eax
425f2f:	eb 15                	jmp    0x425f46
425f31:	8b 46 04             	mov    0x4(%esi),%eax
425f34:	8b d3                	mov    %ebx,%edx
425f36:	c1 fa 08             	sar    $0x8,%edx
425f39:	0f b6 ca             	movzbl %dl,%ecx
425f3c:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
425f40:	c1 e8 0f             	shr    $0xf,%eax
425f43:	83 e0 01             	and    $0x1,%eax
425f46:	85 c0                	test   %eax,%eax
425f48:	74 0f                	je     0x425f59
425f4a:	6a 02                	push   $0x2
425f4c:	88 55 fc             	mov    %dl,-0x4(%ebp)
425f4f:	88 5d fd             	mov    %bl,-0x3(%ebp)
425f52:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
425f56:	58                   	pop    %eax
425f57:	eb 0a                	jmp    0x425f63
425f59:	33 c0                	xor    %eax,%eax
425f5b:	88 5d fc             	mov    %bl,-0x4(%ebp)
425f5e:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
425f62:	40                   	inc    %eax
425f63:	6a 01                	push   $0x1
425f65:	ff 75 f4             	push   -0xc(%ebp)
425f68:	8d 4d f8             	lea    -0x8(%ebp),%ecx
425f6b:	6a 03                	push   $0x3
425f6d:	51                   	push   %ecx
425f6e:	50                   	push   %eax
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