422c02:	00 00                	add    %al,(%eax)
422c04:	2e 74 6d             	je,pn  0x422c74
422c07:	70 00                	jo     0x422c09
422c09:	00 00                	add    %al,(%eax)
422c0b:	00 55 8b             	add    %dl,-0x75(%ebp)
422c0e:	ec                   	in     (%dx),%al
422c0f:	33 c9                	xor    %ecx,%ecx
422c11:	51                   	push   %ecx
422c12:	51                   	push   %ecx
422c13:	51                   	push   %ecx
422c14:	51                   	push   %ecx
422c15:	51                   	push   %ecx
422c16:	53                   	push   %ebx
422c17:	56                   	push   %esi
422c18:	57                   	push   %edi
422c19:	8b d8                	mov    %eax,%ebx
422c1b:	33 c0                	xor    %eax,%eax
422c1d:	55                   	push   %ebp
422c1e:	68 e5 2c 42 00       	push   $0x422ce5
422c23:	64 ff 30             	push   %fs:(%eax)
422c26:	64 89 20             	mov    %esp,%fs:(%eax)
422c29:	33 ff                	xor    %edi,%edi
422c2b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
422c2e:	33 d2                	xor    %edx,%edx
422c30:	8b c7                	mov    %edi,%eax
422c32:	e8 11 ff ff ff       	call   0x422b48
422c37:	8b 45 fc             	mov    -0x4(%ebp),%eax
422c3a:	e8 b5 0e fe ff       	call   0x403af4
422c3f:	50                   	push   %eax
422c40:	e8 3f 22 fe ff       	call   0x404e84
422c45:	47                   	inc    %edi
422c46:	83 ff 12             	cmp    $0x12,%edi
422c49:	75 e0                	jne    0x422c2b
422c4b:	84 db                	test   %bl,%bl
422c4d:	74 53                	je     0x422ca2
422c4f:	b8 1a 00 00 00       	mov    $0x1a,%eax
422c54:	e8 df fe ff ff       	call   0x422b38
422c59:	8b f0                	mov    %eax,%esi
422c5b:	83 c6 14             	add    $0x14,%esi
422c5e:	83 ee 14             	sub    $0x14,%esi
422c61:	7c 3f                	jl     0x422ca2
422c63:	46                   	inc    %esi
422c64:	bf 14 00 00 00       	mov    $0x14,%edi
422c69:	8d 4d f8             	lea    -0x8(%ebp),%ecx
422c6c:	33 d2                	xor    %edx,%edx
422c6e:	8b c7                	mov    %edi,%eax
422c70:	e8 d3 fe ff ff       	call   0x422b48
422c75:	8b 45 f8             	mov    -0x8(%ebp),%eax
422c78:	e8 77 0e fe ff       	call   0x403af4
422c7d:	50                   	push   %eax
422c7e:	e8 01 22 fe ff       	call   0x404e84
422c83:	8d 4d f4             	lea    -0xc(%ebp),%ecx
422c86:	8d 47 1e             	lea    0x1e(%edi),%eax
422c89:	33 d2                	xor    %edx,%edx
422c8b:	e8 b8 fe ff ff       	call   0x422b48
422c90:	8b 45 f4             	mov    -0xc(%ebp),%eax
422c93:	e8 5c 0e fe ff       	call   0x403af4
422c98:	50                   	push   %eax
422c99:	e8 e6 21 fe ff       	call   0x404e84
422c9e:	47                   	inc    %edi
422c9f:	4e                   	dec    %esi
422ca0:	75 c7                	jne    0x422c69
422ca2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
422ca5:	33 d2                	xor    %edx,%edx
422ca7:	b8 01 00 00 00       	mov    $0x1,%eax
422cac:	e8 97 fe ff ff       	call   0x422b48
422cb1:	8b 45 ec             	mov    -0x14(%ebp),%eax
422cb4:	8d 55 f0             	lea    -0x10(%ebp),%edx
422cb7:	e8 d0 2f fe ff       	call   0x405c8c
422cbc:	8b 45 f0             	mov    -0x10(%ebp),%eax
422cbf:	e8 30 0e fe ff       	call   0x403af4
422cc4:	50                   	push   %eax
422cc5:	e8 5a 22 fe ff       	call   0x404f24
422cca:	33 c0                	xor    %eax,%eax
422ccc:	5a                   	pop    %edx
422ccd:	59                   	pop    %ecx
422cce:	59                   	pop    %ecx
422ccf:	64 89 10             	mov    %edx,%fs:(%eax)
422cd2:	68 ec 2c 42 00       	push   $0x422cec
422cd7:	8d 45 ec             	lea    -0x14(%ebp),%eax
422cda:	ba 05 00 00 00       	mov    $0x5,%edx
422cdf:	e8 d4 09 fe ff       	call   0x4036b8
422ce4:	c3                   	ret
422ce5:	e9 1e 04 fe ff       	jmp    0x403108
422cea:	eb eb                	jmp    0x422cd7
422cec:	5f                   	pop    %edi
422ced:	5e                   	pop    %esi
422cee:	5b                   	pop    %ebx
422cef:	8b e5                	mov    %ebp,%esp
422cf1:	5d                   	pop    %ebp
422cf2:	c3                   	ret
422cf3:	90                   	nop
422cf4:	53                   	push   %ebx
422cf5:	56                   	push   %esi
422cf6:	57                   	push   %edi
422cf7:	55                   	push   %ebp
422cf8:	83 c4 f4             	add    $0xfffffff4,%esp
422cfb:	89 54 24 04          	mov    %edx,0x4(%esp)
422cff:	89 04 24             	mov    %eax,(%esp)
422d02:	8b 04 24             	mov    (%esp),%eax
422d05:	e8 ea 0b fe ff       	call   0x4038f4
422d0a:	89 44 24 08          	mov    %eax,0x8(%esp)
422d0e:	8b 44 24 04          	mov    0x4(%esp),%eax
422d12:	8b 54 24 08          	mov    0x8(%esp),%edx
422d16:	e8 65 0f fe ff       	call   0x403c80
422d1b:	33 ff                	xor    %edi,%edi
422d1d:	8b 6c 24 08          	mov    0x8(%esp),%ebp
422d21:	85 ed                	test   %ebp,%ebp
422d23:	76 56                	jbe    0x422d7b
422d25:	be 01 00 00 00       	mov    $0x1,%esi
422d2a:	8b 04 24             	mov    (%esp),%eax
422d2d:	0f b6 44 30 ff       	movzbl -0x1(%eax,%esi,1),%eax
422d32:	8b d0                	mov    %eax,%edx
422d34:	8b 4c 24 08          	mov    0x8(%esp),%ecx
422d38:	2b ce                	sub    %esi,%ecx
422d3a:	0f af cf             	imul   %edi,%ecx
422d3d:	03 d1                	add    %ecx,%edx
422d3f:	03 fa                	add    %edx,%edi
422d41:	8b d8                	mov    %eax,%ebx
422d43:	0f af df             	imul   %edi,%ebx
422d46:	03 de                	add    %esi,%ebx
422d48:	8b c3                	mov    %ebx,%eax
422d4a:	b9 5a 00 00 00       	mov    $0x5a,%ecx
422d4f:	33 d2                	xor    %edx,%edx
422d51:	f7 f1                	div    %ecx
422d53:	6b c0 5a             	imul   $0x5a,%eax,%eax
422d56:	2b d8                	sub    %eax,%ebx
422d58:	83 fb 30             	cmp    $0x30,%ebx
422d5b:	73 03                	jae    0x422d60
422d5d:	83 c3 30             	add    $0x30,%ebx
422d60:	83 fb 2f             	cmp    $0x2f,%ebx
422d63:	76 e3                	jbe    0x422d48
422d65:	83 fb 5b             	cmp    $0x5b,%ebx
422d68:	73 de                	jae    0x422d48
422d6a:	8b 44 24 04          	mov    0x4(%esp),%eax
422d6e:	e8 d9 0d fe ff       	call   0x403b4c
422d73:	88 5c 30 ff          	mov    %bl,-0x1(%eax,%esi,1)
422d77:	46                   	inc    %esi
422d78:	4d                   	dec    %ebp
422d79:	75 af                	jne    0x422d2a
422d7b:	83 c4 0c             	add    $0xc,%esp
422d7e:	5d                   	pop    %ebp
422d7f:	5f                   	pop    %edi
422d80:	5e                   	pop    %esi
422d81:	5b                   	pop    %ebx
422d82:	c3                   	ret
422d83:	90                   	nop
422d84:	55                   	push   %ebp
422d85:	8b ec                	mov    %esp,%ebp
422d87:	83 c4 e0             	add    $0xffffffe0,%esp
422d8a:	53                   	push   %ebx
422d8b:	56                   	push   %esi
422d8c:	57                   	push   %edi
422d8d:	89 55 f8             	mov    %edx,-0x8(%ebp)
422d90:	89 45 fc             	mov    %eax,-0x4(%ebp)
422d93:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
422d9a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
422da1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
422da5:	75 0b                	jne    0x422db2
422da7:	81 7d 08 00 00 08 00 	cmpl   $0x80000,0x8(%ebp)
422dae:	76 0b                	jbe    0x422dbb
422db0:	eb 02                	jmp    0x422db4
422db2:	7e 07                	jle    0x422dbb
422db4:	be 00 00 08 00       	mov    $0x80000,%esi
422db9:	eb 03                	jmp    0x422dbe
422dbb:	8b 75 08             	mov    0x8(%ebp),%esi
422dbe:	8b c6                	mov    %esi,%eax
422dc0:	e8 6b fa fd ff       	call   0x402830
422dc5:	8b d8                	mov    %eax,%ebx
422dc7:	8b c6                	mov    %esi,%eax
422dc9:	33 d2                	xor    %edx,%edx
422dcb:	3b 55 0c             	cmp    0xc(%ebp),%edx
422dce:	75 07                	jne    0x422dd7
422dd0:	3b 45 08             	cmp    0x8(%ebp),%eax
422dd3:	73 10                	jae    0x422de5
422dd5:	eb 02                	jmp    0x422dd9
422dd7:	7d 0c                	jge    0x422de5
422dd9:	8b c6                	mov    %esi,%eax
422ddb:	33 d2                	xor    %edx,%edx
422ddd:	89 45 e0             	mov    %eax,-0x20(%ebp)
422de0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
422de3:	eb 0c                	jmp    0x422df1
422de5:	8b 45 08             	mov    0x8(%ebp),%eax
422de8:	89 45 e0             	mov    %eax,-0x20(%ebp)
422deb:	8b 45 0c             	mov    0xc(%ebp),%eax
422dee:	89 45 e4             	mov    %eax,-0x1c(%ebp)
422df1:	8b fb                	mov    %ebx,%edi
422df3:	8b d7                	mov    %edi,%edx
422df5:	8b 45 f8             	mov    -0x8(%ebp),%eax
422df8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422dfb:	e8 60 3c fe ff       	call   0x406a60
422e00:	33 d2                	xor    %edx,%edx
422e02:	89 45 e8             	mov    %eax,-0x18(%ebp)
422e05:	89 55 ec             	mov    %edx,-0x14(%ebp)
422e08:	8b d7                	mov    %edi,%edx
422e0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
422e0d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
422e10:	e8 4f 3c fe ff       	call   0x406a64
422e15:	83 f8 ff             	cmp    $0xffffffff,%eax
422e18:	74 59                	je     0x422e73
422e1a:	8b 45 e8             	mov    -0x18(%ebp),%eax
422e1d:	8b 55 ec             	mov    -0x14(%ebp),%edx
422e20:	29 45 08             	sub    %eax,0x8(%ebp)
422e23:	19 55 0c             	sbb    %edx,0xc(%ebp)
422e26:	8b 45 e8             	mov    -0x18(%ebp),%eax
422e29:	8b 55 ec             	mov    -0x14(%ebp),%edx
422e2c:	01 45 f0             	add    %eax,-0x10(%ebp)
422e2f:	11 55 f4             	adc    %edx,-0xc(%ebp)
422e32:	a1 40 88 42 00       	mov    0x428840,%eax
422e37:	8b 00                	mov    (%eax),%eax
422e39:	e8 26 8f fe ff       	call   0x40bd64
422e3e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
422e42:	75 04                	jne    0x422e48
422e44:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
422e48:	74 20                	je     0x422e6a
422e4a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
422e4e:	75 04                	jne    0x422e54
422e50:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
422e54:	74 14                	je     0x422e6a
422e56:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
422e5a:	0f 85 67 ff ff ff    	jne    0x422dc7
422e60:	83 7d e8 ff          	cmpl   $0xffffffff,-0x18(%ebp)
422e64:	0f 85 5d ff ff ff    	jne    0x422dc7
422e6a:	8b d6                	mov    %esi,%edx
422e6c:	8b c3                	mov    %ebx,%eax
422e6e:	e8 ed f9 fd ff       	call   0x402860
422e73:	8b 45 f0             	mov    -0x10(%ebp),%eax
422e76:	8b 55 f4             	mov    -0xc(%ebp),%edx
422e79:	5f                   	pop    %edi
422e7a:	5e                   	pop    %esi
422e7b:	5b                   	pop    %ebx
422e7c:	8b e5                	mov    %ebp,%esp
422e7e:	5d                   	pop    %ebp
422e7f:	c2 08 00             	ret    $0x8
422e82:	8b c0                	mov    %eax,%eax
422e84:	a1 dc 87 42 00       	mov    0x4287dc,%eax
422e89:	83 38 00             	cmpl   $0x0,(%eax)
422e8c:	74 13                	je     0x422ea1
422e8e:	a1 dc 87 42 00       	mov    0x4287dc,%eax
422e93:	8b 00                	mov    (%eax),%eax
422e95:	8b 40 18             	mov    0x18(%eax),%eax
422e98:	8b 40 1c             	mov    0x1c(%eax),%eax
422e9b:	50                   	push   %eax
422e9c:	e8 7f 1c fe ff       	call   0x404b20
422ea1:	c3                   	ret
422ea2:	8b c0                	mov    %eax,%eax
422ea4:	55                   	push   %ebp
422ea5:	8b ec                	mov    %esp,%ebp
422ea7:	51                   	push   %ecx
422ea8:	53                   	push   %ebx
422ea9:	56                   	push   %esi
422eaa:	8b f1                	mov    %ecx,%esi
422eac:	89 55 fc             	mov    %edx,-0x4(%ebp)
422eaf:	05 00 00 00 80       	add    $0x80000000,%eax
422eb4:	8b 55 fc             	mov    -0x4(%ebp),%edx
422eb7:	e8 18 34 fe ff       	call   0x4062d4
422ebc:	8b d8                	mov    %eax,%ebx
422ebe:	8b d6                	mov    %esi,%edx
422ec0:	8b c3                	mov    %ebx,%eax
422ec2:	e8 d9 37 fe ff       	call   0x4066a0
422ec7:	48                   	dec    %eax
422ec8:	83 e8 02             	sub    $0x2,%eax
422ecb:	72 09                	jb     0x422ed6
422ecd:	48                   	dec    %eax
422ece:	83 e8 02             	sub    $0x2,%eax
422ed1:	72 11                	jb     0x422ee4
422ed3:	48                   	dec    %eax
422ed4:	75 1f                	jne    0x422ef5
422ed6:	8b 4d 08             	mov    0x8(%ebp),%ecx
422ed9:	8b d6                	mov    %esi,%edx
422edb:	8b c3                	mov    %ebx,%eax
422edd:	e8 f2 34 fe ff       	call   0x4063d4
422ee2:	eb 11                	jmp    0x422ef5
422ee4:	8b d6                	mov    %esi,%edx
422ee6:	8b c3                	mov    %ebx,%eax
422ee8:	e8 57 34 fe ff       	call   0x406344
422eed:	8b 55 08             	mov    0x8(%ebp),%edx
422ef0:	e8 df a6 fe ff       	call   0x40d5d4
422ef5:	8b c3                	mov    %ebx,%eax
422ef7:	e8 58 36 fe ff       	call   0x406554
422efc:	5e                   	pop    %esi
422efd:	5b                   	pop    %ebx
422efe:	59                   	pop    %ecx
422eff:	5d                   	pop    %ebp
422f00:	c2 04 00             	ret    $0x4
422f03:	90                   	nop
422f04:	55                   	push   %ebp
422f05:	8b ec                	mov    %esp,%ebp
422f07:	83 c4 e0             	add    $0xffffffe0,%esp
422f0a:	53                   	push   %ebx
422f0b:	56                   	push   %esi
422f0c:	57                   	push   %edi
422f0d:	33 c0                	xor    %eax,%eax
422f0f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
422f12:	89 45 e0             	mov    %eax,-0x20(%ebp)
422f15:	89 45 f0             	mov    %eax,-0x10(%ebp)
422f18:	33 c0                	xor    %eax,%eax
422f1a:	55                   	push   %ebp
422f1b:	68 20 30 42 00       	push   $0x423020
422f20:	64 ff 30             	push   %fs:(%eax)
422f23:	64 89 20             	mov    %esp,%fs:(%eax)
422f26:	33 c0                	xor    %eax,%eax
422f28:	89 45 f8             	mov    %eax,-0x8(%ebp)
422f2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
422f2e:	e8 1d 58 fe ff       	call   0x408750
422f33:	89 45 f4             	mov    %eax,-0xc(%ebp)
422f36:	ba 3c 30 42 00       	mov    $0x42303c,%edx
422f3b:	b8 02 00 00 80       	mov    $0x80000002,%eax
422f40:	e8 bf 33 fe ff       	call   0x406304
422f45:	8b f8                	mov    %eax,%edi
422f47:	8b 55 f4             	mov    -0xc(%ebp),%edx
422f4a:	8b c7                	mov    %edi,%eax
422f4c:	e8 7f 36 fe ff       	call   0x4065d0
422f51:	8b 45 f4             	mov    -0xc(%ebp),%eax
422f54:	8b 58 1c             	mov    0x1c(%eax),%ebx
422f57:	4b                   	dec    %ebx
422f58:	85 db                	test   %ebx,%ebx
422f5a:	0f 8c 8e 00 00 00    	jl     0x422fee
422f60:	43                   	inc    %ebx
422f61:	33 f6                	xor    %esi,%esi
422f63:	8d 4d f0             	lea    -0x10(%ebp),%ecx
422f66:	8b 45 f4             	mov    -0xc(%ebp),%eax
422f69:	8b d6                	mov    %esi,%edx
422f6b:	e8 68 95 fe ff       	call   0x40c4d8
422f70:	8d 45 e0             	lea    -0x20(%ebp),%eax
422f73:	50                   	push   %eax
422f74:	b9 01 00 00 00       	mov    $0x1,%ecx
422f79:	ba 01 00 00 00       	mov    $0x1,%edx
422f7e:	8b 45 f0             	mov    -0x10(%ebp),%eax
422f81:	e8 ce 0b fe ff       	call   0x403b54
422f86:	8b 45 e0             	mov    -0x20(%ebp),%eax
422f89:	8d 55 e4             	lea    -0x1c(%ebp),%edx
422f8c:	e8 23 7a fe ff       	call   0x40a9b4
422f91:	8b 45 e4             	mov    -0x1c(%ebp),%eax
422f94:	ba 6c 30 42 00       	mov    $0x42306c,%edx
422f99:	e8 a2 0a fe ff       	call   0x403a40
422f9e:	75 46                	jne    0x422fe6
422fa0:	8b 55 f0             	mov    -0x10(%ebp),%edx
422fa3:	b8 78 30 42 00       	mov    $0x423078,%eax
422fa8:	e8 8b 0c fe ff       	call   0x403c38
422fad:	85 c0                	test   %eax,%eax
422faf:	7e 35                	jle    0x422fe6
422fb1:	8d 45 f0             	lea    -0x10(%ebp),%eax
422fb4:	b9 01 00 00 00       	mov    $0x1,%ecx
422fb9:	ba 01 00 00 00       	mov    $0x1,%edx
422fbe:	e8 d1 0b fe ff       	call   0x403b94
422fc3:	8b 45 f0             	mov    -0x10(%ebp),%eax
422fc6:	e8 3d 26 fe ff       	call   0x405608
422fcb:	dd 5d e8             	fstpl  -0x18(%ebp)
422fce:	9b dd 45 e8          	fldl   -0x18(%ebp)