411fa8:	8b 54 0c 48          	mov    0x48(%esp,%ecx,1),%edx
411fac:	ff 44 24 10          	incl   0x10(%esp)
411fb0:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
411fb4:	83 f8 69             	cmp    $0x69,%eax
411fb7:	0f 8f 9d 48 03 00    	jg     0x44685a
411fbd:	0f 84 42 48 03 00    	je     0x446805
411fc3:	83 e8 23             	sub    $0x23,%eax
411fc6:	0f 84 67 46 03 00    	je     0x446633
411fcc:	83 e8 30             	sub    $0x30,%eax
411fcf:	0f 84 f9 45 03 00    	je     0x4465ce
411fd5:	83 e8 0f             	sub    $0xf,%eax
411fd8:	0f 85 88 45 03 00    	jne    0x446566
411fde:	8b 44 0c 44          	mov    0x44(%esp,%ecx,1),%eax
411fe2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
411fe5:	89 44 24 0c          	mov    %eax,0xc(%esp)
411fe9:	0f b6 30             	movzbl (%eax),%esi
411fec:	e8 2f 7a ff ff       	call   0x409a20
411ff1:	8b 45 0c             	mov    0xc(%ebp),%eax
411ff4:	33 c9                	xor    %ecx,%ecx
411ff6:	41                   	inc    %ecx
411ff7:	89 48 0c             	mov    %ecx,0xc(%eax)
411ffa:	89 30                	mov    %esi,(%eax)
411ffc:	39 4c 24 20          	cmp    %ecx,0x20(%esp)
412000:	76 22                	jbe    0x412024
412002:	8b 45 08             	mov    0x8(%ebp),%eax
412005:	6a 29                	push   $0x29
412007:	8b 48 04             	mov    0x4(%eax),%ecx
41200a:	8b 49 04             	mov    0x4(%ecx),%ecx
41200d:	e8 9c 7d ff ff       	call   0x409dae
412012:	84 c0                	test   %al,%al
412014:	75 76                	jne    0x41208c
412016:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
41201b:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
41201f:	0f 95 c0             	setne  %al
412022:	88 01                	mov    %al,(%ecx)
412024:	8b 44 24 10          	mov    0x10(%esp),%eax
412028:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
41202c:	8d 14 41             	lea    (%ecx,%eax,2),%edx
41202f:	0f b7 02             	movzwl (%edx),%eax
412032:	89 54 24 1c          	mov    %edx,0x1c(%esp)
412036:	85 c0                	test   %eax,%eax
412038:	75 5f                	jne    0x412099
41203a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
41203e:	e8 dd 79 ff ff       	call   0x409a20
412043:	5f                   	pop    %edi
412044:	33 c0                	xor    %eax,%eax
412046:	5e                   	pop    %esi
412047:	8b e5                	mov    %ebp,%esp
412049:	5d                   	pop    %ebp
41204a:	c2 08 00             	ret    $0x8
41204d:	52                   	push   %edx
41204e:	8b 07                	mov    (%edi),%eax
412050:	6a 01                	push   $0x1
412052:	8b 48 04             	mov    0x4(%eax),%ecx
412055:	03 cf                	add    %edi,%ecx
412057:	e8 47 4a 04 00       	call   0x456aa3
41205c:	eb dc                	jmp    0x41203a
41205e:	8d 78 ff             	lea    -0x1(%eax),%edi
412061:	8b 54 24 1c          	mov    0x1c(%esp),%edx
412065:	3b f7                	cmp    %edi,%esi
412067:	0f 8e a0 fe ff ff    	jle    0x411f0d
41206d:	e9 c5 fe ff ff       	jmp    0x411f37
412072:	33 c9                	xor    %ecx,%ecx
412074:	89 4c 24 18          	mov    %ecx,0x18(%esp)
412078:	e9 83 fe ff ff       	jmp    0x411f00
41207d:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
412082:	e9 75 fe ff ff       	jmp    0x411efc
412087:	8d 70 01             	lea    0x1(%eax),%esi
41208a:	eb d5                	jmp    0x412061
41208c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
412090:	e8 07 7c ff ff       	call   0x409c9c
412095:	85 c0                	test   %eax,%eax
412097:	eb 82                	jmp    0x41201b
412099:	83 f8 2a             	cmp    $0x2a,%eax
41209c:	0f 84 5e fe ff ff    	je     0x411f00
4120a2:	6a 00                	push   $0x0
4120a4:	eb a8                	jmp    0x41204e
4120a6:	55                   	push   %ebp
4120a7:	8b ec                	mov    %esp,%ebp
4120a9:	8b 45 08             	mov    0x8(%ebp),%eax
4120ac:	56                   	push   %esi
4120ad:	57                   	push   %edi
4120ae:	51                   	push   %ecx
4120af:	8b 40 04             	mov    0x4(%eax),%eax
4120b2:	8b 30                	mov    (%eax),%esi
4120b4:	e8 8f 4d 01 00       	call   0x426e48
4120b9:	8b d6                	mov    %esi,%edx
4120bb:	8d 48 20             	lea    0x20(%eax),%ecx
4120be:	e8 0d eb 00 00       	call   0x420bd0
4120c3:	8b 75 0c             	mov    0xc(%ebp),%esi
4120c6:	8b f8                	mov    %eax,%edi
4120c8:	59                   	pop    %ecx
4120c9:	8b ce                	mov    %esi,%ecx
4120cb:	e8 50 79 ff ff       	call   0x409a20
4120d0:	89 3e                	mov    %edi,(%esi)
4120d2:	33 c0                	xor    %eax,%eax
4120d4:	5f                   	pop    %edi
4120d5:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4120dc:	5e                   	pop    %esi
4120dd:	5d                   	pop    %ebp
4120de:	c2 08 00             	ret    $0x8
4120e1:	55                   	push   %ebp
4120e2:	8b ec                	mov    %esp,%ebp
4120e4:	51                   	push   %ecx
4120e5:	51                   	push   %ecx
4120e6:	8b 45 08             	mov    0x8(%ebp),%eax
4120e9:	56                   	push   %esi
4120ea:	8b 40 04             	mov    0x4(%eax),%eax
4120ed:	8b 08                	mov    (%eax),%ecx
4120ef:	e8 04 7c ff ff       	call   0x409cf8
4120f4:	51                   	push   %ecx
4120f5:	51                   	push   %ecx
4120f6:	dd 1c 24             	fstpl  (%esp)
4120f9:	e8 32 46 01 00       	call   0x426730
4120fe:	8b 75 0c             	mov    0xc(%ebp),%esi
412101:	83 c4 08             	add    $0x8,%esp
412104:	8b ce                	mov    %esi,%ecx
412106:	dd 5d f8             	fstpl  -0x8(%ebp)
412109:	e8 12 79 ff ff       	call   0x409a20
41210e:	dd 45 f8             	fldl   -0x8(%ebp)
412111:	33 c0                	xor    %eax,%eax
412113:	dd 1e                	fstpl  (%esi)
412115:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
41211c:	5e                   	pop    %esi
41211d:	8b e5                	mov    %ebp,%esp
41211f:	5d                   	pop    %ebp
412120:	c2 08 00             	ret    $0x8
412123:	55                   	push   %ebp
412124:	8b ec                	mov    %esp,%ebp
412126:	83 ec 14             	sub    $0x14,%esp
412129:	53                   	push   %ebx
41212a:	56                   	push   %esi
41212b:	57                   	push   %edi
41212c:	8b d9                	mov    %ecx,%ebx
41212e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412131:	68 10 f9 48 00       	push   $0x48f910
412136:	e8 bd 7a ff ff       	call   0x409bf8
41213b:	8b 75 08             	mov    0x8(%ebp),%esi
41213e:	8b 46 04             	mov    0x4(%esi),%eax
412141:	8b 00                	mov    (%eax),%eax
412143:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
412147:	0f 85 77 48 03 00    	jne    0x4469c4
41214d:	6a 38                	push   $0x38
41214f:	e8 a2 ee 00 00       	call   0x420ff6
412154:	59                   	pop    %ecx
412155:	85 c0                	test   %eax,%eax
412157:	0f 84 ca 00 00 00    	je     0x412227
41215d:	8b c8                	mov    %eax,%ecx
41215f:	e8 a2 37 ff ff       	call   0x405906
412164:	8b f8                	mov    %eax,%edi
412166:	8b 46 04             	mov    0x4(%esi),%eax
412169:	8b 30                	mov    (%eax),%esi
41216b:	8b ce                	mov    %esi,%ecx
41216d:	e8 25 78 ff ff       	call   0x409997
412172:	68 00 80 00 00       	push   $0x8000
412177:	ff 76 08             	push   0x8(%esi)
41217a:	8b cf                	mov    %edi,%ecx
41217c:	e8 d5 37 ff ff       	call   0x405956
412181:	84 c0                	test   %al,%al
412183:	0f 84 1a 48 03 00    	je     0x4469a3
412189:	8b 75 08             	mov    0x8(%ebp),%esi
41218c:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
412190:	0f 83 56 48 03 00    	jae    0x4469ec
412196:	8b cf                	mov    %edi,%ecx
412198:	e8 a2 3c ff ff       	call   0x405e3f
41219d:	8b f0                	mov    %eax,%esi
41219f:	89 55 f8             	mov    %edx,-0x8(%ebp)
4121a2:	2b 77 10             	sub    0x10(%edi),%esi
4121a5:	8b cf                	mov    %edi,%ecx
4121a7:	89 75 fc             	mov    %esi,-0x4(%ebp)
4121aa:	e8 59 35 ff ff       	call   0x405708
4121af:	a8 10                	test   $0x10,%al
4121b1:	0f 85 5a 48 03 00    	jne    0x446a11
4121b7:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4121ba:	e8 08 56 ff ff       	call   0x4077c7
4121bf:	8d 45 fc             	lea    -0x4(%ebp),%eax
4121c2:	8b cf                	mov    %edi,%ecx
4121c4:	50                   	push   %eax
4121c5:	8d 45 ec             	lea    -0x14(%ebp),%eax
4121c8:	50                   	push   %eax
4121c9:	e8 04 35 ff ff       	call   0x4056d2
4121ce:	84 c0                	test   %al,%al
4121d0:	0f 84 a1 48 03 00    	je     0x446a77
4121d6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4121d9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4121dc:	50                   	push   %eax
4121dd:	e8 ba 79 ff ff       	call   0x409b9c
4121e2:	8b 03                	mov    (%ebx),%eax
4121e4:	6a 00                	push   $0x0
4121e6:	ff 75 fc             	push   -0x4(%ebp)
4121e9:	8b 48 04             	mov    0x4(%eax),%ecx
4121ec:	03 cb                	add    %ebx,%ecx
4121ee:	e8 6e dd 00 00       	call   0x41ff61
4121f3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4121f6:	e8 69 38 ff ff       	call   0x405a64
4121fb:	8b 45 08             	mov    0x8(%ebp),%eax
4121fe:	8b 40 04             	mov    0x4(%eax),%eax
412201:	8b 00                	mov    (%eax),%eax
412203:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
412207:	75 13                	jne    0x41221c
412209:	8b cf                	mov    %edi,%ecx
41220b:	e8 bf 3b ff ff       	call   0x405dcf
412210:	85 ff                	test   %edi,%edi
412212:	74 08                	je     0x41221c
412214:	51                   	push   %ecx
412215:	8b cf                	mov    %edi,%ecx
412217:	e8 fe 37 ff ff       	call   0x405a1a
41221c:	5f                   	pop    %edi
41221d:	5e                   	pop    %esi
41221e:	33 c0                	xor    %eax,%eax
412220:	5b                   	pop    %ebx
412221:	8b e5                	mov    %ebp,%esp
412223:	5d                   	pop    %ebp
412224:	c2 08 00             	ret    $0x8
412227:	33 ff                	xor    %edi,%edi
412229:	e9 38 ff ff ff       	jmp    0x412166
41222e:	55                   	push   %ebp
41222f:	8b ec                	mov    %esp,%ebp
412231:	83 e4 f8             	and    $0xfffffff8,%esp
412234:	83 ec 1c             	sub    $0x1c,%esp
412237:	53                   	push   %ebx
412238:	56                   	push   %esi
412239:	57                   	push   %edi
41223a:	8b d9                	mov    %ecx,%ebx
41223c:	33 c0                	xor    %eax,%eax
41223e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412241:	68 10 f9 48 00       	push   $0x48f910
412246:	89 44 24 14          	mov    %eax,0x14(%esp)
41224a:	e8 a9 79 ff ff       	call   0x409bf8
41224f:	8b 7d 08             	mov    0x8(%ebp),%edi
412252:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
412256:	75 22                	jne    0x41227a
412258:	8b 47 04             	mov    0x4(%edi),%eax
41225b:	8b 48 04             	mov    0x4(%eax),%ecx
41225e:	e8 39 7a ff ff       	call   0x409c9c
412263:	8b f0                	mov    %eax,%esi
412265:	89 74 24 10          	mov    %esi,0x10(%esp)
412269:	83 fe ff             	cmp    $0xffffffff,%esi
41226c:	0f 84 1a 48 03 00    	je     0x446a8c
412272:	85 f6                	test   %esi,%esi
412274:	0f 8e 28 48 03 00    	jle    0x446aa2
41227a:	8b 47 04             	mov    0x4(%edi),%eax
41227d:	8b 00                	mov    (%eax),%eax
41227f:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
412283:	0f 85 34 48 03 00    	jne    0x446abd
412289:	6a 38                	push   $0x38
41228b:	e8 66 ed 00 00       	call   0x420ff6
412290:	59                   	pop    %ecx
412291:	85 c0                	test   %eax,%eax
412293:	0f 84 ca 00 00 00    	je     0x412363
412299:	8b c8                	mov    %eax,%ecx
41229b:	e8 66 36 ff ff       	call   0x405906
4122a0:	8b f8                	mov    %eax,%edi
4122a2:	8b 45 08             	mov    0x8(%ebp),%eax
4122a5:	8b 40 04             	mov    0x4(%eax),%eax
4122a8:	8b 30                	mov    (%eax),%esi
4122aa:	8b ce                	mov    %esi,%ecx
4122ac:	e8 e6 76 ff ff       	call   0x409997
4122b1:	68 00 80 00 00       	push   $0x8000
4122b6:	ff 76 08             	push   0x8(%esi)
4122b9:	8b cf                	mov    %edi,%ecx
4122bb:	e8 96 36 ff ff       	call   0x405956
4122c0:	84 c0                	test   %al,%al
4122c2:	0f 84 ef 47 03 00    	je     0x446ab7
4122c8:	68 00 04 00 00       	push   $0x400
4122cd:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4122d1:	e8 a0 58 ff ff       	call   0x407b76
4122d6:	8b 74 24 10          	mov    0x10(%esp),%esi
4122da:	32 c0                	xor    %al,%al
4122dc:	88 44 24 0f          	mov    %al,0xf(%esp)
4122e0:	8b cf                	mov    %edi,%ecx
4122e2:	85 f6                	test   %esi,%esi
4122e4:	0f 84 23 48 03 00    	je     0x446b0d
4122ea:	e8 ec 30 ff ff       	call   0x4053db
4122ef:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
4122f4:	85 f6                	test   %esi,%esi
4122f6:	7e 29                	jle    0x412321
4122f8:	8d 44 24 18          	lea    0x18(%esp),%eax
4122fc:	8b cf                	mov    %edi,%ecx
4122fe:	50                   	push   %eax
4122ff:	e8 e8 32 ff ff       	call   0x4055ec
412304:	84 c0                	test   %al,%al
412306:	0f 84 db 47 03 00    	je     0x446ae7
41230c:	8b 44 24 10          	mov    0x10(%esp),%eax
412310:	40                   	inc    %eax
412311:	89 44 24 10          	mov    %eax,0x10(%esp)
412315:	3b c6                	cmp    %esi,%eax
412317:	7c df                	jl     0x4122f8
412319:	8a 44 24 0f          	mov    0xf(%esp),%al
41231d:	84 c0                	test   %al,%al
41231f:	75 0d                	jne    0x41232e
412321:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412324:	8d 44 24 18          	lea    0x18(%esp),%eax
412328:	50                   	push   %eax
412329:	e8 6e 78 ff ff       	call   0x409b9c
41232e:	8b 45 08             	mov    0x8(%ebp),%eax
412331:	8b 40 04             	mov    0x4(%eax),%eax
412334:	8b 00                	mov    (%eax),%eax
412336:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
41233a:	75 13                	jne    0x41234f
41233c:	8b cf                	mov    %edi,%ecx
41233e:	e8 8c 3a ff ff       	call   0x405dcf
412343:	85 ff                	test   %edi,%edi
412345:	74 08                	je     0x41234f
412347:	51                   	push   %ecx
412348:	8b cf                	mov    %edi,%ecx
41234a:	e8 cb 36 ff ff       	call   0x405a1a
41234f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
412353:	e8 0c 37 ff ff       	call   0x405a64
412358:	5f                   	pop    %edi
412359:	5e                   	pop    %esi
41235a:	33 c0                	xor    %eax,%eax
41235c:	5b                   	pop    %ebx
41235d:	8b e5                	mov    %ebp,%esp
41235f:	5d                   	pop    %ebp
412360:	c2 08 00             	ret    $0x8
412363:	33 ff                	xor    %edi,%edi
412365:	e9 38 ff ff ff       	jmp    0x4122a2
41236a:	55                   	push   %ebp
41236b:	8b ec                	mov    %esp,%ebp
41236d:	83 ec 18             	sub    $0x18,%esp
412370:	53                   	push   %ebx
412371:	56                   	push   %esi
412372:	57                   	push   %edi
412373:	8b 7d 08             	mov    0x8(%ebp),%edi
412376:	83 cb ff             	or     $0xffffffff,%ebx
412379:	83 65 08 00          	andl   $0x0,0x8(%ebp)
41237d:	89 4d e8             	mov    %ecx,-0x18(%ebp)
412380:	89 5d fc             	mov    %ebx,-0x4(%ebp)
412383:	8b 77 08             	mov    0x8(%edi),%esi
412386:	89 5d f4             	mov    %ebx,-0xc(%ebp)
412389:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41238c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41238f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
412392:	83 fe 07             	cmp    $0x7,%esi
412395:	0f 87 9b 47 03 00    	ja     0x446b36
41239b:	83 fe 06             	cmp    $0x6,%esi
41239e:	76 0e                	jbe    0x4123ae
4123a0:	8b 47 04             	mov    0x4(%edi),%eax
4123a3:	8b 48 18             	mov    0x18(%eax),%ecx
4123a6:	e8 f1 78 ff ff       	call   0x409c9c
4123ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
4123ae:	83 fe 05             	cmp    $0x5,%esi
4123b1:	76 0d                	jbe    0x4123c0
4123b3:	8b 47 04             	mov    0x4(%edi),%eax
4123b6:	8b 48 14             	mov    0x14(%eax),%ecx
4123b9:	e8 de 78 ff ff       	call   0x409c9c
4123be:	8b d8                	mov    %eax,%ebx
4123c0:	83 fe 04             	cmp    $0x4,%esi
4123c3:	76 0e                	jbe    0x4123d3