418aca:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
418ace:	e9 da 01 00 00       	jmp    0x418cad
418ad3:	66 3b d0             	cmp    %ax,%dx
418ad6:	75 18                	jne    0x418af0
418ad8:	46                   	inc    %esi
418ad9:	f7 45 d8 ff ff ff 7f 	testl  $0x7fffffff,-0x28(%ebp)
418ae0:	75 0e                	jne    0x418af0
418ae2:	39 45 d4             	cmp    %eax,-0x2c(%ebp)
418ae5:	75 09                	jne    0x418af0
418ae7:	39 45 d0             	cmp    %eax,-0x30(%ebp)
418aea:	0f 84 76 ff ff ff    	je     0x418a66
418af0:	89 45 a8             	mov    %eax,-0x58(%ebp)
418af3:	8d 7d f4             	lea    -0xc(%ebp),%edi
418af6:	c7 45 c0 05 00 00 00 	movl   $0x5,-0x40(%ebp)
418afd:	8b 45 a8             	mov    -0x58(%ebp),%eax
418b00:	8b 4d c0             	mov    -0x40(%ebp),%ecx
418b03:	03 c0                	add    %eax,%eax
418b05:	89 4d ac             	mov    %ecx,-0x54(%ebp)
418b08:	85 c9                	test   %ecx,%ecx
418b0a:	7e 4a                	jle    0x418b56
418b0c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
418b0f:	89 4d b8             	mov    %ecx,-0x48(%ebp)
418b12:	8d 44 05 e0          	lea    -0x20(%ebp,%eax,1),%eax
418b16:	8b 4d b8             	mov    -0x48(%ebp),%ecx
418b19:	0f b7 10             	movzwl (%eax),%edx
418b1c:	0f b7 09             	movzwl (%ecx),%ecx
418b1f:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
418b23:	0f af ca             	imul   %edx,%ecx
418b26:	8b 57 fc             	mov    -0x4(%edi),%edx
418b29:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
418b2c:	3b da                	cmp    %edx,%ebx
418b2e:	72 04                	jb     0x418b34
418b30:	3b d9                	cmp    %ecx,%ebx
418b32:	73 07                	jae    0x418b3b
418b34:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
418b3b:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
418b3f:	89 5f fc             	mov    %ebx,-0x4(%edi)
418b42:	74 03                	je     0x418b47
418b44:	66 ff 07             	incw   (%edi)
418b47:	83 6d b8 02          	subl   $0x2,-0x48(%ebp)
418b4b:	40                   	inc    %eax
418b4c:	40                   	inc    %eax
418b4d:	ff 4d ac             	decl   -0x54(%ebp)
418b50:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
418b54:	7f c0                	jg     0x418b16
418b56:	47                   	inc    %edi
418b57:	47                   	inc    %edi
418b58:	ff 45 a8             	incl   -0x58(%ebp)
418b5b:	ff 4d c0             	decl   -0x40(%ebp)
418b5e:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
418b62:	7f 99                	jg     0x418afd
418b64:	81 c6 02 c0 00 00    	add    $0xc002,%esi
418b6a:	66 85 f6             	test   %si,%si
418b6d:	7e 37                	jle    0x418ba6
418b6f:	8b 7d f8             	mov    -0x8(%ebp),%edi
418b72:	85 ff                	test   %edi,%edi
418b74:	78 2b                	js     0x418ba1
418b76:	8b 45 f4             	mov    -0xc(%ebp),%eax
418b79:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418b7c:	d1 65 f0             	shll   $1,-0x10(%ebp)
418b7f:	8b d0                	mov    %eax,%edx
418b81:	03 c0                	add    %eax,%eax
418b83:	c1 e9 1f             	shr    $0x1f,%ecx
418b86:	0b c1                	or     %ecx,%eax
418b88:	89 45 f4             	mov    %eax,-0xc(%ebp)
418b8b:	c1 ea 1f             	shr    $0x1f,%edx
418b8e:	8d 04 3f             	lea    (%edi,%edi,1),%eax
418b91:	0b c2                	or     %edx,%eax
418b93:	81 c6 ff ff 00 00    	add    $0xffff,%esi
418b99:	89 45 f8             	mov    %eax,-0x8(%ebp)
418b9c:	66 85 f6             	test   %si,%si
418b9f:	7f ce                	jg     0x418b6f
418ba1:	66 85 f6             	test   %si,%si
418ba4:	7f 4d                	jg     0x418bf3
418ba6:	81 c6 ff ff 00 00    	add    $0xffff,%esi
418bac:	66 85 f6             	test   %si,%si
418baf:	7d 42                	jge    0x418bf3
418bb1:	8b c6                	mov    %esi,%eax
418bb3:	f7 d8                	neg    %eax
418bb5:	0f b7 c0             	movzwl %ax,%eax
418bb8:	03 f0                	add    %eax,%esi
418bba:	f6 45 f0 01          	testb  $0x1,-0x10(%ebp)
418bbe:	74 03                	je     0x418bc3
418bc0:	ff 45 b0             	incl   -0x50(%ebp)
418bc3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
418bc6:	8b 7d f4             	mov    -0xc(%ebp),%edi
418bc9:	8b 55 f4             	mov    -0xc(%ebp),%edx
418bcc:	d1 6d f8             	shrl   $1,-0x8(%ebp)
418bcf:	c1 e1 1f             	shl    $0x1f,%ecx
418bd2:	d1 ef                	shr    $1,%edi
418bd4:	0b f9                	or     %ecx,%edi
418bd6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418bd9:	c1 e2 1f             	shl    $0x1f,%edx
418bdc:	d1 e9                	shr    $1,%ecx
418bde:	0b ca                	or     %edx,%ecx
418be0:	48                   	dec    %eax
418be1:	89 7d f4             	mov    %edi,-0xc(%ebp)
418be4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
418be7:	75 d1                	jne    0x418bba
418be9:	39 45 b0             	cmp    %eax,-0x50(%ebp)
418bec:	74 05                	je     0x418bf3
418bee:	66 83 4d f0 01       	orw    $0x1,-0x10(%ebp)
418bf3:	b8 00 80 00 00       	mov    $0x8000,%eax
418bf8:	8b c8                	mov    %eax,%ecx
418bfa:	66 39 4d f0          	cmp    %cx,-0x10(%ebp)
418bfe:	77 11                	ja     0x418c11
418c00:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418c03:	81 e1 ff ff 01 00    	and    $0x1ffff,%ecx
418c09:	81 f9 00 80 01 00    	cmp    $0x18000,%ecx
418c0f:	75 34                	jne    0x418c45
418c11:	83 7d f2 ff          	cmpl   $0xffffffff,-0xe(%ebp)
418c15:	75 2b                	jne    0x418c42
418c17:	83 65 f2 00          	andl   $0x0,-0xe(%ebp)
418c1b:	83 7d f6 ff          	cmpl   $0xffffffff,-0xa(%ebp)
418c1f:	75 1c                	jne    0x418c3d
418c21:	83 65 f6 00          	andl   $0x0,-0xa(%ebp)
418c25:	b9 ff ff 00 00       	mov    $0xffff,%ecx
418c2a:	66 39 4d fa          	cmp    %cx,-0x6(%ebp)
418c2e:	75 07                	jne    0x418c37
418c30:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
418c34:	46                   	inc    %esi
418c35:	eb 0e                	jmp    0x418c45
418c37:	66 ff 45 fa          	incw   -0x6(%ebp)
418c3b:	eb 08                	jmp    0x418c45
418c3d:	ff 45 f6             	incl   -0xa(%ebp)
418c40:	eb 03                	jmp    0x418c45
418c42:	ff 45 f2             	incl   -0xe(%ebp)
418c45:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
418c4a:	66 3b f0             	cmp    %ax,%si
418c4d:	72 23                	jb     0x418c72
418c4f:	33 c0                	xor    %eax,%eax
418c51:	33 c9                	xor    %ecx,%ecx
418c53:	66 39 45 a4          	cmp    %ax,-0x5c(%ebp)
418c57:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418c5a:	0f 94 c1             	sete   %cl
418c5d:	89 45 e0             	mov    %eax,-0x20(%ebp)
418c60:	49                   	dec    %ecx
418c61:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
418c67:	81 c1 00 80 ff 7f    	add    $0x7fff8000,%ecx
418c6d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418c70:	eb 3b                	jmp    0x418cad
418c72:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
418c76:	0b 75 a4             	or     -0x5c(%ebp),%esi
418c79:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
418c7d:	8b 45 f4             	mov    -0xc(%ebp),%eax
418c80:	89 45 e2             	mov    %eax,-0x1e(%ebp)
418c83:	8b 45 f8             	mov    -0x8(%ebp),%eax
418c86:	89 45 e6             	mov    %eax,-0x1a(%ebp)
418c89:	66 89 75 ea          	mov    %si,-0x16(%ebp)
418c8d:	eb 1e                	jmp    0x418cad
418c8f:	33 c0                	xor    %eax,%eax
418c91:	66 85 db             	test   %bx,%bx
418c94:	0f 94 c0             	sete   %al
418c97:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
418c9b:	48                   	dec    %eax
418c9c:	25 00 00 00 80       	and    $0x80000000,%eax
418ca1:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
418ca6:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
418caa:	89 45 e8             	mov    %eax,-0x18(%ebp)
418cad:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
418cb1:	8b 55 a0             	mov    -0x60(%ebp),%edx
418cb4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
418cb7:	8b 7d 14             	mov    0x14(%ebp),%edi
418cba:	66 89 02             	mov    %ax,(%edx)
418cbd:	74 32                	je     0x418cf1
418cbf:	98                   	cwtl
418cc0:	03 f8                	add    %eax,%edi
418cc2:	85 ff                	test   %edi,%edi
418cc4:	7f 2b                	jg     0x418cf1
418cc6:	33 c0                	xor    %eax,%eax
418cc8:	66 89 02             	mov    %ax,(%edx)
418ccb:	b8 00 80 00 00       	mov    $0x8000,%eax
418cd0:	66 39 45 90          	cmp    %ax,-0x70(%ebp)
418cd4:	c6 42 03 01          	movb   $0x1,0x3(%edx)
418cd8:	0f 95 c0             	setne  %al
418cdb:	fe c8                	dec    %al
418cdd:	24 0d                	and    $0xd,%al
418cdf:	04 20                	add    $0x20,%al
418ce1:	88 42 02             	mov    %al,0x2(%edx)
418ce4:	c6 42 04 30          	movb   $0x30,0x4(%edx)
418ce8:	c6 42 05 00          	movb   $0x0,0x5(%edx)
418cec:	e9 5e f9 ff ff       	jmp    0x41864f
418cf1:	83 ff 15             	cmp    $0x15,%edi
418cf4:	7e 03                	jle    0x418cf9
418cf6:	6a 15                	push   $0x15
418cf8:	5f                   	pop    %edi
418cf9:	8b 75 e8             	mov    -0x18(%ebp),%esi
418cfc:	c1 ee 10             	shr    $0x10,%esi
418cff:	81 ee fe 3f 00 00    	sub    $0x3ffe,%esi
418d05:	33 c0                	xor    %eax,%eax
418d07:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
418d0b:	c7 45 bc 08 00 00 00 	movl   $0x8,-0x44(%ebp)
418d12:	8b 45 e0             	mov    -0x20(%ebp),%eax
418d15:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
418d18:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418d1b:	d1 65 e0             	shll   $1,-0x20(%ebp)
418d1e:	c1 e8 1f             	shr    $0x1f,%eax
418d21:	03 db                	add    %ebx,%ebx
418d23:	0b d8                	or     %eax,%ebx
418d25:	8b 45 e8             	mov    -0x18(%ebp),%eax
418d28:	c1 e9 1f             	shr    $0x1f,%ecx
418d2b:	03 c0                	add    %eax,%eax
418d2d:	0b c1                	or     %ecx,%eax
418d2f:	ff 4d bc             	decl   -0x44(%ebp)
418d32:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
418d35:	89 45 e8             	mov    %eax,-0x18(%ebp)
418d38:	75 d8                	jne    0x418d12
418d3a:	85 f6                	test   %esi,%esi
418d3c:	7d 32                	jge    0x418d70
418d3e:	f7 de                	neg    %esi
418d40:	81 e6 ff 00 00 00    	and    $0xff,%esi
418d46:	7e 28                	jle    0x418d70
418d48:	8b 45 e8             	mov    -0x18(%ebp),%eax
418d4b:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
418d4e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418d51:	d1 6d e8             	shrl   $1,-0x18(%ebp)
418d54:	c1 e0 1f             	shl    $0x1f,%eax
418d57:	d1 eb                	shr    $1,%ebx
418d59:	0b d8                	or     %eax,%ebx
418d5b:	8b 45 e0             	mov    -0x20(%ebp),%eax
418d5e:	c1 e1 1f             	shl    $0x1f,%ecx
418d61:	d1 e8                	shr    $1,%eax
418d63:	0b c1                	or     %ecx,%eax
418d65:	4e                   	dec    %esi
418d66:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
418d69:	89 45 e0             	mov    %eax,-0x20(%ebp)
418d6c:	85 f6                	test   %esi,%esi
418d6e:	7f d8                	jg     0x418d48
418d70:	8d 47 01             	lea    0x1(%edi),%eax
418d73:	8d 5a 04             	lea    0x4(%edx),%ebx
418d76:	89 5d c0             	mov    %ebx,-0x40(%ebp)
418d79:	89 45 b4             	mov    %eax,-0x4c(%ebp)
418d7c:	85 c0                	test   %eax,%eax
418d7e:	0f 8e b5 00 00 00    	jle    0x418e39
418d84:	8b 55 e0             	mov    -0x20(%ebp),%edx
418d87:	8b 45 e4             	mov    -0x1c(%ebp),%eax
418d8a:	8d 75 e0             	lea    -0x20(%ebp),%esi
418d8d:	8d 7d c4             	lea    -0x3c(%ebp),%edi
418d90:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418d91:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418d92:	a5                   	movsl  %ds:(%esi),%es:(%edi)
418d93:	d1 65 e0             	shll   $1,-0x20(%ebp)
418d96:	8b 7d e0             	mov    -0x20(%ebp),%edi
418d99:	d1 65 e0             	shll   $1,-0x20(%ebp)
418d9c:	c1 ea 1f             	shr    $0x1f,%edx
418d9f:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
418da2:	0b ca                	or     %edx,%ecx
418da4:	8b 55 e8             	mov    -0x18(%ebp),%edx
418da7:	8b f0                	mov    %eax,%esi
418da9:	c1 ee 1f             	shr    $0x1f,%esi
418dac:	03 d2                	add    %edx,%edx
418dae:	0b d6                	or     %esi,%edx
418db0:	8b c1                	mov    %ecx,%eax
418db2:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
418db5:	c1 e8 1f             	shr    $0x1f,%eax
418db8:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
418dbb:	8b 55 c4             	mov    -0x3c(%ebp),%edx
418dbe:	c1 ef 1f             	shr    $0x1f,%edi
418dc1:	0b c8                	or     %eax,%ecx
418dc3:	8b 45 e0             	mov    -0x20(%ebp),%eax
418dc6:	0b f7                	or     %edi,%esi
418dc8:	8d 3c 02             	lea    (%edx,%eax,1),%edi
418dcb:	3b f8                	cmp    %eax,%edi
418dcd:	72 04                	jb     0x418dd3
418dcf:	3b fa                	cmp    %edx,%edi
418dd1:	73 18                	jae    0x418deb
418dd3:	8d 46 01             	lea    0x1(%esi),%eax
418dd6:	33 d2                	xor    %edx,%edx
418dd8:	3b c6                	cmp    %esi,%eax
418dda:	72 05                	jb     0x418de1
418ddc:	83 f8 01             	cmp    $0x1,%eax
418ddf:	73 03                	jae    0x418de4
418de1:	33 d2                	xor    %edx,%edx
418de3:	42                   	inc    %edx
418de4:	8b f0                	mov    %eax,%esi
418de6:	85 d2                	test   %edx,%edx
418de8:	74 01                	je     0x418deb
418dea:	41                   	inc    %ecx
418deb:	8b 45 c8             	mov    -0x38(%ebp),%eax
418dee:	8d 14 30             	lea    (%eax,%esi,1),%edx
418df1:	89 55 bc             	mov    %edx,-0x44(%ebp)
418df4:	3b d6                	cmp    %esi,%edx
418df6:	72 04                	jb     0x418dfc
418df8:	3b d0                	cmp    %eax,%edx
418dfa:	73 01                	jae    0x418dfd
418dfc:	41                   	inc    %ecx
418dfd:	03 4d cc             	add    -0x34(%ebp),%ecx
418e00:	c1 ea 1f             	shr    $0x1f,%edx
418e03:	03 c9                	add    %ecx,%ecx
418e05:	0b ca                	or     %edx,%ecx
418e07:	8d 34 3f             	lea    (%edi,%edi,1),%esi
418e0a:	89 75 e0             	mov    %esi,-0x20(%ebp)
418e0d:	8b 75 bc             	mov    -0x44(%ebp),%esi
418e10:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418e13:	c1 e9 18             	shr    $0x18,%ecx
418e16:	03 f6                	add    %esi,%esi
418e18:	80 c1 30             	add    $0x30,%cl
418e1b:	8b c7                	mov    %edi,%eax
418e1d:	c1 e8 1f             	shr    $0x1f,%eax
418e20:	0b f0                	or     %eax,%esi
418e22:	88 0b                	mov    %cl,(%ebx)
418e24:	43                   	inc    %ebx
418e25:	ff 4d b4             	decl   -0x4c(%ebp)
418e28:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
418e2c:	89 75 e4             	mov    %esi,-0x1c(%ebp)
418e2f:	c6 45 eb 00          	movb   $0x0,-0x15(%ebp)
418e33:	0f 8f 4b ff ff ff    	jg     0x418d84
418e39:	4b                   	dec    %ebx
418e3a:	8a 03                	mov    (%ebx),%al
418e3c:	4b                   	dec    %ebx
418e3d:	3c 35                	cmp    $0x35,%al
418e3f:	7d 0e                	jge    0x418e4f
418e41:	8b 4d c0             	mov    -0x40(%ebp),%ecx
418e44:	eb 44                	jmp    0x418e8a
418e46:	80 3b 39             	cmpb   $0x39,(%ebx)
418e49:	75 09                	jne    0x418e54
418e4b:	c6 03 30             	movb   $0x30,(%ebx)
418e4e:	4b                   	dec    %ebx
418e4f:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
418e52:	73 f2                	jae    0x418e46
418e54:	8b 45 a0             	mov    -0x60(%ebp),%eax
418e57:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
418e5a:	73 04                	jae    0x418e60
418e5c:	43                   	inc    %ebx
418e5d:	66 ff 00             	incw   (%eax)
418e60:	fe 03                	incb   (%ebx)
418e62:	2a d8                	sub    %al,%bl
418e64:	80 eb 03             	sub    $0x3,%bl
418e67:	0f be cb             	movsbl %bl,%ecx
418e6a:	88 58 03             	mov    %bl,0x3(%eax)
418e6d:	c6 44 01 04 00       	movb   $0x0,0x4(%ecx,%eax,1)
418e72:	8b 45 8c             	mov    -0x74(%ebp),%eax
418e75:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418e78:	5f                   	pop    %edi
418e79:	5e                   	pop    %esi
418e7a:	33 cd                	xor    %ebp,%ecx
418e7c:	5b                   	pop    %ebx
418e7d:	e8 a4 d7 fe ff       	call   0x406626
418e82:	c9                   	leave
418e83:	c3                   	ret
418e84:	80 3b 30             	cmpb   $0x30,(%ebx)
418e87:	75 05                	jne    0x418e8e
418e89:	4b                   	dec    %ebx
418e8a:	3b d9                	cmp    %ecx,%ebx
418e8c:	73 f6                	jae    0x418e84
418e8e:	8b 45 a0             	mov    -0x60(%ebp),%eax
418e91:	3b d9                	cmp    %ecx,%ebx
418e93:	73 cd                	jae    0x418e62
418e95:	33 d2                	xor    %edx,%edx
418e97:	66 89 10             	mov    %dx,(%eax)