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)
418e9a:	ba 00 80 00 00       	mov    $0x8000,%edx
418e9f:	66 39 55 90          	cmp    %dx,-0x70(%ebp)
418ea3:	c6 40 03 01          	movb   $0x1,0x3(%eax)
418ea7:	0f 95 c2             	setne  %dl
418eaa:	fe ca                	dec    %dl
418eac:	80 e2 0d             	and    $0xd,%dl
418eaf:	80 c2 20             	add    $0x20,%dl
418eb2:	88 50 02             	mov    %dl,0x2(%eax)
418eb5:	c6 01 30             	movb   $0x30,(%ecx)
418eb8:	c6 40 05 00          	movb   $0x0,0x5(%eax)
418ebc:	e9 8e f7 ff ff       	jmp    0x41864f
418ec1:	33 c0                	xor    %eax,%eax
418ec3:	f6 c3 10             	test   $0x10,%bl
418ec6:	74 01                	je     0x418ec9
418ec8:	40                   	inc    %eax
418ec9:	f6 c3 08             	test   $0x8,%bl
418ecc:	74 03                	je     0x418ed1
418ece:	83 c8 04             	or     $0x4,%eax
418ed1:	f6 c3 04             	test   $0x4,%bl
418ed4:	74 03                	je     0x418ed9
418ed6:	83 c8 08             	or     $0x8,%eax
418ed9:	f6 c3 02             	test   $0x2,%bl
418edc:	74 03                	je     0x418ee1
418ede:	83 c8 10             	or     $0x10,%eax
418ee1:	f6 c3 01             	test   $0x1,%bl
418ee4:	74 03                	je     0x418ee9
418ee6:	83 c8 20             	or     $0x20,%eax
418ee9:	f7 c3 00 00 08 00    	test   $0x80000,%ebx
418eef:	74 03                	je     0x418ef4
418ef1:	83 c8 02             	or     $0x2,%eax
418ef4:	8b cb                	mov    %ebx,%ecx
418ef6:	ba 00 03 00 00       	mov    $0x300,%edx
418efb:	23 ca                	and    %edx,%ecx
418efd:	56                   	push   %esi
418efe:	be 00 02 00 00       	mov    $0x200,%esi
418f03:	74 23                	je     0x418f28
418f05:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
418f0b:	74 16                	je     0x418f23
418f0d:	3b ce                	cmp    %esi,%ecx
418f0f:	74 0b                	je     0x418f1c
418f11:	3b ca                	cmp    %edx,%ecx
418f13:	75 13                	jne    0x418f28
418f15:	0d 00 0c 00 00       	or     $0xc00,%eax
418f1a:	eb 0c                	jmp    0x418f28
418f1c:	0d 00 08 00 00       	or     $0x800,%eax
418f21:	eb 05                	jmp    0x418f28
418f23:	0d 00 04 00 00       	or     $0x400,%eax
418f28:	8b cb                	mov    %ebx,%ecx
418f2a:	81 e1 00 00 03 00    	and    $0x30000,%ecx
418f30:	74 0c                	je     0x418f3e
418f32:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
418f38:	75 06                	jne    0x418f40
418f3a:	0b c6                	or     %esi,%eax
418f3c:	eb 02                	jmp    0x418f40
418f3e:	0b c2                	or     %edx,%eax
418f40:	5e                   	pop    %esi
418f41:	f7 c3 00 00 04 00    	test   $0x40000,%ebx
418f47:	74 05                	je     0x418f4e
418f49:	0d 00 10 00 00       	or     $0x1000,%eax
418f4e:	c3                   	ret
418f4f:	33 c0                	xor    %eax,%eax
418f51:	f6 c2 10             	test   $0x10,%dl
418f54:	74 05                	je     0x418f5b
418f56:	b8 80 00 00 00       	mov    $0x80,%eax
418f5b:	53                   	push   %ebx
418f5c:	56                   	push   %esi
418f5d:	57                   	push   %edi
418f5e:	bb 00 02 00 00       	mov    $0x200,%ebx
418f63:	f6 c2 08             	test   $0x8,%dl
418f66:	74 02                	je     0x418f6a
418f68:	0b c3                	or     %ebx,%eax
418f6a:	f6 c2 04             	test   $0x4,%dl
418f6d:	74 05                	je     0x418f74
418f6f:	0d 00 04 00 00       	or     $0x400,%eax
418f74:	f6 c2 02             	test   $0x2,%dl
418f77:	74 05                	je     0x418f7e
418f79:	0d 00 08 00 00       	or     $0x800,%eax
418f7e:	f6 c2 01             	test   $0x1,%dl
418f81:	74 05                	je     0x418f88
418f83:	0d 00 10 00 00       	or     $0x1000,%eax
418f88:	bf 00 01 00 00       	mov    $0x100,%edi
418f8d:	f7 c2 00 00 08 00    	test   $0x80000,%edx
418f93:	74 02                	je     0x418f97
418f95:	0b c7                	or     %edi,%eax
418f97:	8b ca                	mov    %edx,%ecx
418f99:	be 00 03 00 00       	mov    $0x300,%esi
418f9e:	23 ce                	and    %esi,%ecx
418fa0:	74 1f                	je     0x418fc1
418fa2:	3b cf                	cmp    %edi,%ecx
418fa4:	74 16                	je     0x418fbc
418fa6:	3b cb                	cmp    %ebx,%ecx
418fa8:	74 0b                	je     0x418fb5
418faa:	3b ce                	cmp    %esi,%ecx
418fac:	75 13                	jne    0x418fc1
418fae:	0d 00 60 00 00       	or     $0x6000,%eax
418fb3:	eb 0c                	jmp    0x418fc1
418fb5:	0d 00 40 00 00       	or     $0x4000,%eax
418fba:	eb 05                	jmp    0x418fc1
418fbc:	0d 00 20 00 00       	or     $0x2000,%eax
418fc1:	b9 00 00 00 03       	mov    $0x3000000,%ecx
418fc6:	5f                   	pop    %edi
418fc7:	23 d1                	and    %ecx,%edx
418fc9:	5e                   	pop    %esi
418fca:	5b                   	pop    %ebx
418fcb:	81 fa 00 00 00 01    	cmp    $0x1000000,%edx
418fd1:	74 16                	je     0x418fe9
418fd3:	81 fa 00 00 00 02    	cmp    $0x2000000,%edx
418fd9:	74 0a                	je     0x418fe5
418fdb:	3b d1                	cmp    %ecx,%edx
418fdd:	75 0f                	jne    0x418fee
418fdf:	0d 00 80 00 00       	or     $0x8000,%eax
418fe4:	c3                   	ret
418fe5:	83 c8 40             	or     $0x40,%eax
418fe8:	c3                   	ret
418fe9:	0d 40 80 00 00       	or     $0x8040,%eax
418fee:	c3                   	ret
418fef:	8b ff                	mov    %edi,%edi
418ff1:	55                   	push   %ebp
418ff2:	8b ec                	mov    %esp,%ebp
418ff4:	83 ec 14             	sub    $0x14,%esp
418ff7:	53                   	push   %ebx
418ff8:	56                   	push   %esi
418ff9:	57                   	push   %edi
418ffa:	9b d9 7d f8          	fstcw  -0x8(%ebp)
418ffe:	8b 5d f8             	mov    -0x8(%ebp),%ebx
419001:	33 d2                	xor    %edx,%edx
419003:	f6 c3 01             	test   $0x1,%bl
419006:	74 03                	je     0x41900b
419008:	6a 10                	push   $0x10
41900a:	5a                   	pop    %edx
41900b:	f6 c3 04             	test   $0x4,%bl
41900e:	74 03                	je     0x419013
419010:	83 ca 08             	or     $0x8,%edx
419013:	f6 c3 08             	test   $0x8,%bl
419016:	74 03                	je     0x41901b
419018:	83 ca 04             	or     $0x4,%edx
41901b:	f6 c3 10             	test   $0x10,%bl
41901e:	74 03                	je     0x419023
419020:	83 ca 02             	or     $0x2,%edx
419023:	f6 c3 20             	test   $0x20,%bl
419026:	74 03                	je     0x41902b
419028:	83 ca 01             	or     $0x1,%edx
41902b:	f6 c3 02             	test   $0x2,%bl
41902e:	74 06                	je     0x419036
419030:	81 ca 00 00 08 00    	or     $0x80000,%edx
419036:	0f b7 cb             	movzwl %bx,%ecx
419039:	8b c1                	mov    %ecx,%eax
41903b:	be 00 0c 00 00       	mov    $0xc00,%esi
419040:	23 c6                	and    %esi,%eax
419042:	bf 00 03 00 00       	mov    $0x300,%edi
419047:	74 24                	je     0x41906d
419049:	3d 00 04 00 00       	cmp    $0x400,%eax
41904e:	74 17                	je     0x419067
419050:	3d 00 08 00 00       	cmp    $0x800,%eax
419055:	74 08                	je     0x41905f
419057:	3b c6                	cmp    %esi,%eax
419059:	75 12                	jne    0x41906d
41905b:	0b d7                	or     %edi,%edx
41905d:	eb 0e                	jmp    0x41906d
41905f:	81 ca 00 02 00 00    	or     $0x200,%edx
419065:	eb 06                	jmp    0x41906d
419067:	81 ca 00 01 00 00    	or     $0x100,%edx
41906d:	23 cf                	and    %edi,%ecx
41906f:	74 10                	je     0x419081
419071:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
419077:	75 0e                	jne    0x419087
419079:	81 ca 00 00 01 00    	or     $0x10000,%edx
41907f:	eb 06                	jmp    0x419087
419081:	81 ca 00 00 02 00    	or     $0x20000,%edx
419087:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
41908d:	74 06                	je     0x419095
41908f:	81 ca 00 00 04 00    	or     $0x40000,%edx
419095:	8b 7d 0c             	mov    0xc(%ebp),%edi
419098:	8b 4d 08             	mov    0x8(%ebp),%ecx
41909b:	8b c7                	mov    %edi,%eax