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)
4131a4:	83 f8 01             	cmp    $0x1,%eax
4131a7:	74 5a                	je     0x413203
4131a9:	a8 01                	test   $0x1,%al
4131ab:	75 1f                	jne    0x4131cc
4131ad:	d1 e8                	shr    $1,%eax
4131af:	50                   	push   %eax
4131b0:	ff 76 04             	push   0x4(%esi)
4131b3:	8d 8b 8c 4a 00 00    	lea    0x4a8c(%ebx),%ecx
4131b9:	e8 d7 f8 ff ff       	call   0x412a95
4131be:	89 46 04             	mov    %eax,0x4(%esi)
4131c1:	85 c0                	test   %eax,%eax
4131c3:	0f 84 0a ff ff ff    	je     0x4130d3
4131c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4131cc:	c1 e0 03             	shl    $0x3,%eax
4131cf:	8d 4e 02             	lea    0x2(%esi),%ecx
4131d2:	0f b7 11             	movzwl (%ecx),%edx
4131d5:	0f b7 d2             	movzwl %dx,%edx
4131d8:	3b c2                	cmp    %edx,%eax
4131da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4131dd:	1b d2                	sbb    %edx,%edx
4131df:	c1 e0 02             	shl    $0x2,%eax
4131e2:	42                   	inc    %edx
4131e3:	39 45 f4             	cmp    %eax,-0xc(%ebp)
4131e6:	1b c0                	sbb    %eax,%eax
4131e8:	40                   	inc    %eax
4131e9:	66 23 d0             	and    %ax,%dx
4131ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
4131ef:	03 c0                	add    %eax,%eax
4131f1:	66 03 d2             	add    %dx,%dx
4131f4:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4131f7:	1b c0                	sbb    %eax,%eax
4131f9:	f7 d8                	neg    %eax
4131fb:	66 03 d0             	add    %ax,%dx
4131fe:	0f b7 01             	movzwl (%ecx),%eax
413201:	eb 54                	jmp    0x413257
413203:	6a 01                	push   $0x1
413205:	8d 8b 8c 4a 00 00    	lea    0x4a8c(%ebx),%ecx
41320b:	e8 00 f8 ff ff       	call   0x412a10
413210:	85 c0                	test   %eax,%eax
413212:	0f 84 bb fe ff ff    	je     0x4130d3
413218:	8b 55 f8             	mov    -0x8(%ebp),%edx
41321b:	8d 4e 02             	lea    0x2(%esi),%ecx
41321e:	8b f1                	mov    %ecx,%esi
413220:	8b f8                	mov    %eax,%edi
413222:	a5                   	movsl  %ds:(%esi),%es:(%edi)
413223:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
413225:	89 42 04             	mov    %eax,0x4(%edx)
413228:	8a 50 01             	mov    0x1(%eax),%dl
41322b:	80 fa 1e             	cmp    $0x1e,%dl
41322e:	73 07                	jae    0x413237
413230:	02 d2                	add    %dl,%dl
413232:	88 50 01             	mov    %dl,0x1(%eax)
413235:	eb 04                	jmp    0x41323b
413237:	c6 40 01 78          	movb   $0x78,0x1(%eax)
41323b:	66 0f b6 40 01       	movzbw 0x1(%eax),%ax
413240:	8b 7d f0             	mov    -0x10(%ebp),%edi
413243:	8b 75 f8             	mov    -0x8(%ebp),%esi
413246:	6a 03                	push   $0x3
413248:	5a                   	pop    %edx
413249:	3b 55 f4             	cmp    -0xc(%ebp),%edx
41324c:	1b d2                	sbb    %edx,%edx
41324e:	f7 da                	neg    %edx
413250:	66 03 93 58 06 00 00 	add    0x658(%ebx),%dx
413257:	66 03 d0             	add    %ax,%dx
41325a:	0f b7 c2             	movzwl %dx,%eax
41325d:	66 89 11             	mov    %dx,(%ecx)
413260:	0f b7 d0             	movzwl %ax,%edx
413263:	8d 42 06             	lea    0x6(%edx),%eax
413266:	0f af 45 e8          	imul   -0x18(%ebp),%eax
41326a:	03 d7                	add    %edi,%edx
41326c:	8b fa                	mov    %edx,%edi
41326e:	6b ff 06             	imul   $0x6,%edi,%edi
413271:	03 c0                	add    %eax,%eax
413273:	3b c7                	cmp    %edi,%eax
413275:	89 55 f8             	mov    %edx,-0x8(%ebp)
413278:	8b fa                	mov    %edx,%edi
41327a:	73 1a                	jae    0x413296
41327c:	c1 e7 02             	shl    $0x2,%edi
41327f:	3b c7                	cmp    %edi,%eax
413281:	1b ff                	sbb    %edi,%edi
413283:	47                   	inc    %edi
413284:	3b d0                	cmp    %eax,%edx
413286:	1b c0                	sbb    %eax,%eax
413288:	f7 d8                	neg    %eax
41328a:	8d 54 07 01          	lea    0x1(%edi,%eax,1),%edx
41328e:	0f b7 01             	movzwl (%ecx),%eax
413291:	83 c0 03             	add    $0x3,%eax
413294:	eb 26                	jmp    0x4132bc
413296:	6b ff 0f             	imul   $0xf,%edi,%edi
413299:	3b c7                	cmp    %edi,%eax
41329b:	1b ff                	sbb    %edi,%edi
41329d:	6b d2 0c             	imul   $0xc,%edx,%edx
4132a0:	47                   	inc    %edi
4132a1:	3b c2                	cmp    %edx,%eax
4132a3:	1b d2                	sbb    %edx,%edx
4132a5:	42                   	inc    %edx
4132a6:	03 fa                	add    %edx,%edi
4132a8:	8b 55 f8             	mov    -0x8(%ebp),%edx
4132ab:	6b d2 09             	imul   $0x9,%edx,%edx
4132ae:	3b c2                	cmp    %edx,%eax
4132b0:	1b c0                	sbb    %eax,%eax
4132b2:	40                   	inc    %eax
4132b3:	8d 54 07 04          	lea    0x4(%edi,%eax,1),%edx
4132b7:	0f b7 01             	movzwl (%ecx),%eax
4132ba:	03 c2                	add    %edx,%eax
4132bc:	8b 7d fc             	mov    -0x4(%ebp),%edi
4132bf:	66 89 01             	mov    %ax,(%ecx)
4132c2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4132c5:	8b c7                	mov    %edi,%eax
4132c7:	6b c0 06             	imul   $0x6,%eax,%eax
4132ca:	03 46 04             	add    0x4(%esi),%eax
4132cd:	47                   	inc    %edi
4132ce:	89 48 02             	mov    %ecx,0x2(%eax)
4132d1:	8a 4d e0             	mov    -0x20(%ebp),%cl
4132d4:	88 08                	mov    %cl,(%eax)
4132d6:	88 50 01             	mov    %dl,0x1(%eax)
4132d9:	66 89 3e             	mov    %di,(%esi)
4132dc:	8b 76 08             	mov    0x8(%esi),%esi
4132df:	89 75 f8             	mov    %esi,-0x8(%ebp)
4132e2:	3b b3 44 06 00 00    	cmp    0x644(%ebx),%esi
4132e8:	0f 85 aa fe ff ff    	jne    0x413198
4132ee:	e9 91 fe ff ff       	jmp    0x413184
4132f3:	8b 44 24 08          	mov    0x8(%esp),%eax
4132f7:	53                   	push   %ebx
4132f8:	8b 5c 24 08          	mov    0x8(%esp),%ebx
4132fc:	89 83 50 06 00 00    	mov    %eax,0x650(%ebx)
413302:	80 40 01 04          	addb   $0x4,0x1(%eax)
413306:	57                   	push   %edi
413307:	8b f9                	mov    %ecx,%edi
413309:	66 83 47 02 04       	addw   $0x4,0x2(%edi)
41330e:	8a 48 01             	mov    0x1(%eax),%cl
413311:	3a 48 fb             	cmp    -0x5(%eax),%cl
413314:	76 20                	jbe    0x413336
413316:	56                   	push   %esi
413317:	8d 70 fa             	lea    -0x6(%eax),%esi
41331a:	56                   	push   %esi
41331b:	50                   	push   %eax
41331c:	e8 c6 f2 ff ff       	call   0x4125e7
413321:	89 b3 50 06 00 00    	mov    %esi,0x650(%ebx)
413327:	80 7e 01 7c          	cmpb   $0x7c,0x1(%esi)
41332b:	5e                   	pop    %esi
41332c:	76 08                	jbe    0x413336
41332e:	53                   	push   %ebx
41332f:	8b cf                	mov    %edi,%ecx
413331:	e8 36 fa ff ff       	call   0x412d6c
413336:	5f                   	pop    %edi
413337:	5b                   	pop    %ebx
413338:	c2 08 00             	ret    $0x8
41333b:	55                   	push   %ebp
41333c:	8b ec                	mov    %esp,%ebp
41333e:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
413342:	53                   	push   %ebx
413343:	56                   	push   %esi
413344:	8b 75 08             	mov    0x8(%ebp),%esi
413347:	89 86 84 4a 00 00    	mov    %eax,0x4a84(%esi)
41334d:	8d 9e 70 4a 00 00    	lea    0x4a70(%esi),%ebx
413353:	8b 43 08             	mov    0x8(%ebx),%eax
413356:	33 d2                	xor    %edx,%edx
413358:	f7 73 14             	divl   0x14(%ebx)
41335b:	57                   	push   %edi
41335c:	8b 79 04             	mov    0x4(%ecx),%edi
41335f:	33 d2                	xor    %edx,%edx
413361:	89 45 08             	mov    %eax,0x8(%ebp)
413364:	89 43 08             	mov    %eax,0x8(%ebx)
413367:	8b 43 04             	mov    0x4(%ebx),%eax
41336a:	2b 03                	sub    (%ebx),%eax
41336c:	f7 75 08             	divl   0x8(%ebp)
41336f:	89 45 08             	mov    %eax,0x8(%ebp)
413372:	8b 86 84 4a 00 00    	mov    0x4a84(%esi),%eax
413378:	39 45 08             	cmp    %eax,0x8(%ebp)
41337b:	7c 07                	jl     0x413384
41337d:	32 c0                	xor    %al,%al
41337f:	e9 8d 00 00 00       	jmp    0x413411
413384:	0f b6 57 01          	movzbl 0x1(%edi),%edx
413388:	39 55 08             	cmp    %edx,0x8(%ebp)