412dc8:	89 55 ec             	mov    %edx,-0x14(%ebp)
412dcb:	0f b6 50 01          	movzbl 0x1(%eax),%edx
412dcf:	03 55 ec             	add    -0x14(%ebp),%edx
412dd2:	d1 fa                	sar    $1,%edx
412dd4:	88 50 01             	mov    %dl,0x1(%eax)
412dd7:	66 0f b6 d2          	movzbw %dl,%dx
412ddb:	66 89 11             	mov    %dx,(%ecx)
412dde:	0f b6 50 07          	movzbl 0x7(%eax),%edx
412de2:	29 55 f8             	sub    %edx,-0x8(%ebp)
412de5:	8b 75 ec             	mov    -0x14(%ebp),%esi
412de8:	83 c0 06             	add    $0x6,%eax
412deb:	89 55 f0             	mov    %edx,-0x10(%ebp)
412dee:	03 d6                	add    %esi,%edx
412df0:	d1 fa                	sar    $1,%edx
412df2:	88 50 01             	mov    %dl,0x1(%eax)
412df5:	66 0f b6 d2          	movzbw %dl,%dx
412df9:	66 01 11             	add    %dx,(%ecx)
412dfc:	8a 50 01             	mov    0x1(%eax),%dl
412dff:	3a 50 fb             	cmp    -0x5(%eax),%dl
412e02:	76 35                	jbe    0x412e39
412e04:	8b f0                	mov    %eax,%esi
412e06:	8d 7d e0             	lea    -0x20(%ebp),%edi
412e09:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e0a:	8b d0                	mov    %eax,%edx
412e0c:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412e0e:	8d 72 fa             	lea    -0x6(%edx),%esi
412e11:	8b fa                	mov    %edx,%edi
412e13:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e14:	83 ea 06             	sub    $0x6,%edx
412e17:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412e19:	89 55 f0             	mov    %edx,-0x10(%ebp)
412e1c:	3b 53 04             	cmp    0x4(%ebx),%edx
412e1f:	74 10                	je     0x412e31
412e21:	8b 55 e0             	mov    -0x20(%ebp),%edx
412e24:	8b 75 f0             	mov    -0x10(%ebp),%esi
412e27:	c1 ea 08             	shr    $0x8,%edx
412e2a:	3a 56 fb             	cmp    -0x5(%esi),%dl
412e2d:	8b d6                	mov    %esi,%edx
412e2f:	77 dd                	ja     0x412e0e
412e31:	8d 75 e0             	lea    -0x20(%ebp),%esi
412e34:	8b fa                	mov    %edx,%edi
412e36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e37:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412e39:	ff 4d fc             	decl   -0x4(%ebp)
412e3c:	75 a0                	jne    0x412dde
412e3e:	40                   	inc    %eax
412e3f:	80 38 00             	cmpb   $0x0,(%eax)
412e42:	75 72                	jne    0x412eb6
412e44:	ff 45 fc             	incl   -0x4(%ebp)
412e47:	83 e8 06             	sub    $0x6,%eax
412e4a:	80 38 00             	cmpb   $0x0,(%eax)
412e4d:	74 f5                	je     0x412e44
412e4f:	8b 55 fc             	mov    -0x4(%ebp),%edx
412e52:	8b 45 f8             	mov    -0x8(%ebp),%eax
412e55:	66 29 13             	sub    %dx,(%ebx)
412e58:	03 c2                	add    %edx,%eax
412e5a:	0f b7 13             	movzwl (%ebx),%edx
412e5d:	66 83 fa 01          	cmp    $0x1,%dx
412e61:	75 56                	jne    0x412eb9
412e63:	8b 73 04             	mov    0x4(%ebx),%esi
412e66:	89 75 ec             	mov    %esi,-0x14(%ebp)
412e69:	8d 7d f0             	lea    -0x10(%ebp),%edi
412e6c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412e6d:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412e6f:	8b 55 f0             	mov    -0x10(%ebp),%edx
412e72:	c1 ea 08             	shr    $0x8,%edx
412e75:	8a da                	mov    %dl,%bl
412e77:	d0 eb                	shr    $1,%bl
412e79:	2a d3                	sub    %bl,%dl
412e7b:	d1 f8                	sar    $1,%eax
412e7d:	83 f8 01             	cmp    $0x1,%eax
412e80:	88 55 f1             	mov    %dl,-0xf(%ebp)
412e83:	7f ea                	jg     0x412e6f
412e85:	8b 45 e8             	mov    -0x18(%ebp),%eax
412e88:	8b 55 08             	mov    0x8(%ebp),%edx
412e8b:	8b 75 ec             	mov    -0x14(%ebp),%esi
412e8e:	40                   	inc    %eax
412e8f:	d1 f8                	sar    $1,%eax
412e91:	0f b6 84 10 b5 4a 00 	movzbl 0x4ab5(%eax,%edx,1),%eax
412e98:	00
412e99:	8d 84 82 44 4b 00 00 	lea    0x4b44(%edx,%eax,4),%eax
412ea0:	8b 38                	mov    (%eax),%edi
412ea2:	89 3e                	mov    %edi,(%esi)
412ea4:	89 30                	mov    %esi,(%eax)
412ea6:	89 8a 50 06 00 00    	mov    %ecx,0x650(%edx)
412eac:	8d 75 f0             	lea    -0x10(%ebp),%esi
412eaf:	8b f9                	mov    %ecx,%edi
412eb1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
412eb2:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
412eb4:	eb 3e                	jmp    0x412ef4
412eb6:	8b 45 f8             	mov    -0x8(%ebp),%eax
412eb9:	8b d0                	mov    %eax,%edx
412ebb:	d1 fa                	sar    $1,%edx
412ebd:	2b c2                	sub    %edx,%eax
412ebf:	66 01 01             	add    %ax,(%ecx)
412ec2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412ec5:	0f b7 03             	movzwl (%ebx),%eax
412ec8:	41                   	inc    %ecx
412ec9:	d1 f9                	sar    $1,%ecx
412ecb:	40                   	inc    %eax
412ecc:	d1 f8                	sar    $1,%eax
412ece:	3b c8                	cmp    %eax,%ecx
412ed0:	74 16                	je     0x412ee8
412ed2:	50                   	push   %eax
412ed3:	51                   	push   %ecx
412ed4:	8b 4d 08             	mov    0x8(%ebp),%ecx
412ed7:	ff 73 04             	push   0x4(%ebx)
412eda:	81 c1 8c 4a 00 00    	add    $0x4a8c,%ecx
412ee0:	e8 ef ee ff ff       	call   0x411dd4
412ee5:	89 43 04             	mov    %eax,0x4(%ebx)
412ee8:	8b 43 04             	mov    0x4(%ebx),%eax
412eeb:	8b 4d 08             	mov    0x8(%ebp),%ecx
412eee:	89 81 50 06 00 00    	mov    %eax,0x650(%ecx)
412ef4:	5f                   	pop    %edi
412ef5:	5e                   	pop    %esi
412ef6:	5b                   	pop    %ebx
412ef7:	c9                   	leave
412ef8:	c2 04 00             	ret    $0x4
412efb:	55                   	push   %ebp
412efc:	8b ec                	mov    %esp,%ebp
412efe:	81 ec 08 01 00 00    	sub    $0x108,%esp
412f04:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
412f08:	53                   	push   %ebx
412f09:	8b d9                	mov    %ecx,%ebx
412f0b:	8b 83 50 06 00 00    	mov    0x650(%ebx),%eax
412f11:	8b 8b 44 06 00 00    	mov    0x644(%ebx),%ecx
412f17:	56                   	push   %esi
412f18:	8b 70 02             	mov    0x2(%eax),%esi
412f1b:	57                   	push   %edi
412f1c:	8d bd f8 fe ff ff    	lea    -0x108(%ebp),%edi
412f22:	75 12                	jne    0x412f36
412f24:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
412f28:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
412f2e:	8d bd fc fe ff ff    	lea    -0x104(%ebp),%edi
412f34:	74 51                	je     0x412f87
412f36:	8b 45 0c             	mov    0xc(%ebp),%eax
412f39:	85 c0                	test   %eax,%eax
412f3b:	74 05                	je     0x412f42
412f3d:	8b 49 08             	mov    0x8(%ecx),%ecx
412f40:	eb 22                	jmp    0x412f64
412f42:	8b 49 08             	mov    0x8(%ecx),%ecx
412f45:	66 83 39 01          	cmpw   $0x1,(%ecx)
412f49:	74 16                	je     0x412f61
412f4b:	8b 93 50 06 00 00    	mov    0x650(%ebx),%edx
412f51:	8b 41 04             	mov    0x4(%ecx),%eax
412f54:	8a 12                	mov    (%edx),%dl
412f56:	eb 03                	jmp    0x412f5b
412f58:	83 c0 06             	add    $0x6,%eax
412f5b:	38 10                	cmp    %dl,(%eax)
412f5d:	75 f9                	jne    0x412f58
412f5f:	eb 03                	jmp    0x412f64
412f61:	8d 41 02             	lea    0x2(%ecx),%eax
412f64:	39 70 02             	cmp    %esi,0x2(%eax)
412f67:	75 0d                	jne    0x412f76
412f69:	89 07                	mov    %eax,(%edi)
412f6b:	83 c7 04             	add    $0x4,%edi
412f6e:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
412f72:	75 ce                	jne    0x412f42
412f74:	eb 03                	jmp    0x412f79
412f76:	8b 48 02             	mov    0x2(%eax),%ecx
412f79:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
412f7f:	3b f8                	cmp    %eax,%edi
412f81:	0f 84 85 00 00 00    	je     0x41300c
412f87:	8a 16                	mov    (%esi),%dl
412f89:	46                   	inc    %esi
412f8a:	89 75 fa             	mov    %esi,-0x6(%ebp)
412f8d:	0f b7 31             	movzwl (%ecx),%esi
412f90:	88 55 f8             	mov    %dl,-0x8(%ebp)
412f93:	66 83 fe 01          	cmp    $0x1,%si
412f97:	74 4e                	je     0x412fe7
412f99:	3b 8b dc 4b 00 00    	cmp    0x4bdc(%ebx),%ecx
412f9f:	77 04                	ja     0x412fa5
412fa1:	33 c0                	xor    %eax,%eax
412fa3:	eb 69                	jmp    0x41300e
412fa5:	8b 41 04             	mov    0x4(%ecx),%eax
412fa8:	eb 03                	jmp    0x412fad
412faa:	83 c0 06             	add    $0x6,%eax
412fad:	38 10                	cmp    %dl,(%eax)
412faf:	75 f9                	jne    0x412faa
412fb1:	0f b6 40 01          	movzbl 0x1(%eax),%eax
412fb5:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
412fb9:	0f b7 f6             	movzwl %si,%esi
412fbc:	48                   	dec    %eax
412fbd:	2b d6                	sub    %esi,%edx
412fbf:	2b d0                	sub    %eax,%edx
412fc1:	8d 34 00             	lea    (%eax,%eax,1),%esi
412fc4:	3b f2                	cmp    %edx,%esi
412fc6:	77 0b                	ja     0x412fd3
412fc8:	6b c0 05             	imul   $0x5,%eax,%eax
412fcb:	3b d0                	cmp    %eax,%edx
412fcd:	1b c0                	sbb    %eax,%eax
412fcf:	f7 d8                	neg    %eax
412fd1:	eb 10                	jmp    0x412fe3
412fd3:	8b c2                	mov    %edx,%eax
412fd5:	6b c0 03             	imul   $0x3,%eax,%eax
412fd8:	8d 44 30 ff          	lea    -0x1(%eax,%esi,1),%eax
412fdc:	8d 34 12             	lea    (%edx,%edx,1),%esi
412fdf:	33 d2                	xor    %edx,%edx
412fe1:	f7 f6                	div    %esi
412fe3:	fe c0                	inc    %al
412fe5:	eb 03                	jmp    0x412fea
412fe7:	8a 41 03             	mov    0x3(%ecx),%al
412fea:	88 45 f9             	mov    %al,-0x7(%ebp)
412fed:	8d 45 f8             	lea    -0x8(%ebp),%eax
412ff0:	50                   	push   %eax
412ff1:	83 ef 04             	sub    $0x4,%edi
412ff4:	ff 37                	push   (%edi)
412ff6:	53                   	push   %ebx
412ff7:	e8 ef fa ff ff       	call   0x412aeb
412ffc:	8b c8                	mov    %eax,%ecx
412ffe:	85 c9                	test   %ecx,%ecx
413000:	74 9f                	je     0x412fa1
413002:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
413008:	3b f8                	cmp    %eax,%edi
41300a:	75 e1                	jne    0x412fed
41300c:	8b c1                	mov    %ecx,%eax
41300e:	5f                   	pop    %edi
41300f:	5e                   	pop    %esi
413010:	5b                   	pop    %ebx
413011:	c9                   	leave
413012:	c2 08 00             	ret    $0x8
413015:	55                   	push   %ebp
413016:	8b ec                	mov    %esp,%ebp
413018:	83 ec 20             	sub    $0x20,%esp
41301b:	53                   	push   %ebx
41301c:	56                   	push   %esi
41301d:	57                   	push   %edi
41301e:	8b d9                	mov    %ecx,%ebx
413020:	8b b3 50 06 00 00    	mov    0x650(%ebx),%esi
413026:	8d 7d e0             	lea    -0x20(%ebp),%edi
413029:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41302a:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
41302c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41302f:	8b c1                	mov    %ecx,%eax
413031:	c1 e8 08             	shr    $0x8,%eax
413034:	33 f6                	xor    %esi,%esi
413036:	3c 1f                	cmp    $0x1f,%al
413038:	73 5f                	jae    0x413099
41303a:	8b 83 44 06 00 00    	mov    0x644(%ebx),%eax
413040:	8b 78 08             	mov    0x8(%eax),%edi
413043:	85 ff                	test   %edi,%edi
413045:	74 52                	je     0x413099
413047:	66 83 3f 01          	cmpw   $0x1,(%edi)
41304b:	74 3c                	je     0x413089
41304d:	8b 77 04             	mov    0x4(%edi),%esi
413050:	38 0e                	cmp    %cl,(%esi)
413052:	74 1f                	je     0x413073
413054:	83 c6 06             	add    $0x6,%esi
413057:	38 0e                	cmp    %cl,(%esi)
413059:	75 f9                	jne    0x413054
41305b:	8a 46 01             	mov    0x1(%esi),%al
41305e:	3a 46 fb             	cmp    -0x5(%esi),%al
413061:	72 10                	jb     0x413073
413063:	8d 46 fa             	lea    -0x6(%esi),%eax
413066:	50                   	push   %eax
413067:	56                   	push   %esi
413068:	89 45 ec             	mov    %eax,-0x14(%ebp)
41306b:	e8 77 f5 ff ff       	call   0x4125e7
413070:	8b 75 ec             	mov    -0x14(%ebp),%esi
413073:	8a 46 01             	mov    0x1(%esi),%al
413076:	8b 4d e0             	mov    -0x20(%ebp),%ecx
413079:	3c 73                	cmp    $0x73,%al
41307b:	73 1c                	jae    0x413099
41307d:	04 02                	add    $0x2,%al
41307f:	88 46 01             	mov    %al,0x1(%esi)
413082:	66 83 47 02 02       	addw   $0x2,0x2(%edi)
413087:	eb 10                	jmp    0x413099
413089:	8d 77 02             	lea    0x2(%edi),%esi
41308c:	8a 46 01             	mov    0x1(%esi),%al
41308f:	3c 20                	cmp    $0x20,%al
413091:	0f 92 c2             	setb   %dl
413094:	02 d0                	add    %al,%dl
413096:	88 56 01             	mov    %dl,0x1(%esi)
413099:	33 d2                	xor    %edx,%edx
41309b:	39 93 5c 06 00 00    	cmp    %edx,0x65c(%ebx)
4130a1:	75 43                	jne    0x4130e6
4130a3:	56                   	push   %esi
4130a4:	6a 01                	push   $0x1
4130a6:	8b cb                	mov    %ebx,%ecx
4130a8:	e8 4e fe ff ff       	call   0x412efb
4130ad:	8b 8b 50 06 00 00    	mov    0x650(%ebx),%ecx
4130b3:	89 41 02             	mov    %eax,0x2(%ecx)
4130b6:	8b 83 50 06 00 00    	mov    0x650(%ebx),%eax
4130bc:	8b 40 02             	mov    0x2(%eax),%eax
4130bf:	89 83 4c 06 00 00    	mov    %eax,0x64c(%ebx)
4130c5:	89 83 44 06 00 00    	mov    %eax,0x644(%ebx)
4130cb:	85 c0                	test   %eax,%eax
4130cd:	0f 85 c0 00 00 00    	jne    0x413193
4130d3:	8b cb                	mov    %ebx,%ecx
4130d5:	e8 66 fa ff ff       	call   0x412b40
4130da:	c6 83 6c 0a 00 00 00 	movb   $0x0,0xa6c(%ebx)
4130e1:	e9 ad 00 00 00       	jmp    0x413193
4130e6:	8b 83 dc 4b 00 00    	mov    0x4bdc(%ebx),%eax
4130ec:	88 08                	mov    %cl,(%eax)
4130ee:	ff 83 dc 4b 00 00    	incl   0x4bdc(%ebx)
4130f4:	8b 83 dc 4b 00 00    	mov    0x4bdc(%ebx),%eax
4130fa:	89 45 ec             	mov    %eax,-0x14(%ebp)
4130fd:	3b 83 e8 4b 00 00    	cmp    0x4be8(%ebx),%eax
413103:	73 ce                	jae    0x4130d3
413105:	39 55 e2             	cmp    %edx,-0x1e(%ebp)
413108:	74 3c                	je     0x413146
41310a:	39 45 e2             	cmp    %eax,-0x1e(%ebp)
41310d:	77 10                	ja     0x41311f
41310f:	56                   	push   %esi
413110:	52                   	push   %edx
413111:	8b cb                	mov    %ebx,%ecx
413113:	e8 e3 fd ff ff       	call   0x412efb
413118:	89 45 e2             	mov    %eax,-0x1e(%ebp)
41311b:	85 c0                	test   %eax,%eax
41311d:	74 b4                	je     0x4130d3
41311f:	ff 8b 5c 06 00 00    	decl   0x65c(%ebx)
413125:	75 31                	jne    0x413158
413127:	8b 45 e2             	mov    -0x1e(%ebp),%eax
41312a:	89 45 ec             	mov    %eax,-0x14(%ebp)
41312d:	8b 83 4c 06 00 00    	mov    0x64c(%ebx),%eax
413133:	33 c9                	xor    %ecx,%ecx
413135:	3b 83 44 06 00 00    	cmp    0x644(%ebx),%eax
41313b:	0f 95 c1             	setne  %cl
41313e:	29 8b dc 4b 00 00    	sub    %ecx,0x4bdc(%ebx)
413144:	eb 12                	jmp    0x413158
413146:	8b 8b 50 06 00 00    	mov    0x650(%ebx),%ecx
41314c:	89 41 02             	mov    %eax,0x2(%ecx)
41314f:	8b 83 44 06 00 00    	mov    0x644(%ebx),%eax
413155:	89 45 e2             	mov    %eax,-0x1e(%ebp)
413158:	8b 83 44 06 00 00    	mov    0x644(%ebx),%eax
41315e:	0f b6 4d e1          	movzbl -0x1f(%ebp),%ecx
413162:	0f b7 30             	movzwl (%eax),%esi
413165:	0f b7 78 02          	movzwl 0x2(%eax),%edi
413169:	2b f9                	sub    %ecx,%edi
41316b:	2b fe                	sub    %esi,%edi
41316d:	89 75 f4             	mov    %esi,-0xc(%ebp)
413170:	8b b3 4c 06 00 00    	mov    0x64c(%ebx),%esi
413176:	47                   	inc    %edi
413177:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41317a:	89 7d f0             	mov    %edi,-0x10(%ebp)
41317d:	89 75 f8             	mov    %esi,-0x8(%ebp)
413180:	3b f0                	cmp    %eax,%esi
413182:	75 1a                	jne    0x41319e
413184:	8b 45 e2             	mov    -0x1e(%ebp),%eax
413187:	89 83 44 06 00 00    	mov    %eax,0x644(%ebx)
41318d:	89 83 4c 06 00 00    	mov    %eax,0x64c(%ebx)
413193:	5f                   	pop    %edi
413194:	5e                   	pop    %esi
413195:	5b                   	pop    %ebx
413196:	c9                   	leave
413197:	c3                   	ret
413198:	8b 75 f8             	mov    -0x8(%ebp),%esi
41319b:	8b 7d f0             	mov    -0x10(%ebp),%edi
41319e:	0f b7 06             	movzwl (%esi),%eax
4131a1:	89 45 fc             	mov    %eax,-0x4(%ebp)