418214:	0f 84 c6 00 00 00    	je     0x4182e0
41821a:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41821e:	0f 85 bc 00 00 00    	jne    0x4182e0
418224:	85 d2                	test   %edx,%edx
418226:	0f 88 b4 00 00 00    	js     0x4182e0
41822c:	83 fa 05             	cmp    $0x5,%edx
41822f:	0f 87 ab 00 00 00    	ja     0x4182e0
418235:	8d 04 3a             	lea    (%edx,%edi,1),%eax
418238:	3b c3                	cmp    %ebx,%eax
41823a:	0f 87 ae 00 00 00    	ja     0x4182ee
418240:	8b c6                	mov    %esi,%eax
418242:	89 45 dc             	mov    %eax,-0x24(%ebp)
418245:	85 d2                	test   %edx,%edx
418247:	7e 1e                	jle    0x418267
418249:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41824c:	8a 44 05 e8          	mov    -0x18(%ebp,%eax,1),%al
418250:	88 04 39             	mov    %al,(%ecx,%edi,1)
418253:	84 c0                	test   %al,%al
418255:	0f 84 93 00 00 00    	je     0x4182ee
41825b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41825e:	40                   	inc    %eax
41825f:	47                   	inc    %edi
418260:	89 45 dc             	mov    %eax,-0x24(%ebp)
418263:	3b c2                	cmp    %edx,%eax
418265:	7c e5                	jl     0x41824c
418267:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41826a:	83 c0 02             	add    $0x2,%eax
41826d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
418270:	3b fb                	cmp    %ebx,%edi
418272:	0f 82 6e ff ff ff    	jb     0x4181e6
418278:	eb 74                	jmp    0x4182ee
41827a:	e8 7c 6b ff ff       	call   0x40edfb
41827f:	83 ce ff             	or     $0xffffffff,%esi
418282:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
418288:	eb 2d                	jmp    0x4182b7
41828a:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
418290:	75 29                	jne    0x4182bb
418292:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
418295:	0f b7 01             	movzwl (%ecx),%eax
418298:	66 85 c0             	test   %ax,%ax
41829b:	74 1a                	je     0x4182b7
41829d:	8b f8                	mov    %eax,%edi
41829f:	ba ff 00 00 00       	mov    $0xff,%edx
4182a4:	66 3b fa             	cmp    %dx,%di
4182a7:	77 37                	ja     0x4182e0
4182a9:	83 c1 02             	add    $0x2,%ecx
4182ac:	46                   	inc    %esi
4182ad:	0f b7 01             	movzwl (%ecx),%eax
4182b0:	8b f8                	mov    %eax,%edi
4182b2:	66 85 c0             	test   %ax,%ax
4182b5:	75 ed                	jne    0x4182a4
4182b7:	8b fe                	mov    %esi,%edi
4182b9:	eb 33                	jmp    0x4182ee
4182bb:	8d 45 e0             	lea    -0x20(%ebp),%eax
4182be:	50                   	push   %eax
4182bf:	56                   	push   %esi
4182c0:	56                   	push   %esi
4182c1:	56                   	push   %esi
4182c2:	6a ff                	push   $0xffffffff
4182c4:	ff 75 e4             	push   -0x1c(%ebp)
4182c7:	56                   	push   %esi
4182c8:	51                   	push   %ecx
4182c9:	e8 1d 20 00 00       	call   0x41a2eb
4182ce:	83 c4 20             	add    $0x20,%esp
4182d1:	85 c0                	test   %eax,%eax
4182d3:	74 0b                	je     0x4182e0
4182d5:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
4182d9:	75 05                	jne    0x4182e0
4182db:	8d 78 ff             	lea    -0x1(%eax),%edi
4182de:	eb 0e                	jmp    0x4182ee
4182e0:	e8 16 6b ff ff       	call   0x40edfb
4182e5:	83 cf ff             	or     $0xffffffff,%edi
4182e8:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4182ee:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
4182f2:	74 0a                	je     0x4182fe
4182f4:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4182f7:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4182fe:	8b c7                	mov    %edi,%eax
418300:	e8 28 f8 fe ff       	call   0x407b2d
418305:	c3                   	ret
418306:	8b ff                	mov    %edi,%edi
418308:	55                   	push   %ebp
418309:	8b ec                	mov    %esp,%ebp
41830b:	51                   	push   %ecx
41830c:	56                   	push   %esi
41830d:	8b 75 0c             	mov    0xc(%ebp),%esi
418310:	33 c0                	xor    %eax,%eax
418312:	89 45 fc             	mov    %eax,-0x4(%ebp)
418315:	57                   	push   %edi
418316:	8b 7d 10             	mov    0x10(%ebp),%edi
418319:	85 f6                	test   %esi,%esi
41831b:	74 2e                	je     0x41834b
41831d:	85 ff                	test   %edi,%edi
41831f:	74 2e                	je     0x41834f
418321:	85 f6                	test   %esi,%esi
418323:	74 02                	je     0x418327
418325:	88 06                	mov    %al,(%esi)
418327:	53                   	push   %ebx
418328:	8b 5d 08             	mov    0x8(%ebp),%ebx
41832b:	85 db                	test   %ebx,%ebx
41832d:	74 02                	je     0x418331
41832f:	89 03                	mov    %eax,(%ebx)
418331:	8b c7                	mov    %edi,%eax
418333:	39 7d 18             	cmp    %edi,0x18(%ebp)
418336:	77 03                	ja     0x41833b
418338:	8b 45 18             	mov    0x18(%ebp),%eax
41833b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
418340:	76 20                	jbe    0x418362
418342:	e8 b4 6a ff ff       	call   0x40edfb
418347:	6a 16                	push   $0x16
418349:	eb 55                	jmp    0x4183a0
41834b:	85 ff                	test   %edi,%edi
41834d:	74 d2                	je     0x418321
41834f:	e8 a7 6a ff ff       	call   0x40edfb
418354:	6a 16                	push   $0x16
418356:	5e                   	pop    %esi
418357:	89 30                	mov    %esi,(%eax)
418359:	e8 23 4d ff ff       	call   0x40d081
41835e:	8b c6                	mov    %esi,%eax
418360:	eb 67                	jmp    0x4183c9
418362:	ff 75 1c             	push   0x1c(%ebp)
418365:	50                   	push   %eax
418366:	ff 75 14             	push   0x14(%ebp)
418369:	56                   	push   %esi
41836a:	e8 f8 fc ff ff       	call   0x418067
41836f:	83 c4 10             	add    $0x10,%esp
418372:	83 f8 ff             	cmp    $0xffffffff,%eax
418375:	75 10                	jne    0x418387
418377:	85 f6                	test   %esi,%esi
418379:	74 03                	je     0x41837e
41837b:	c6 06 00             	movb   $0x0,(%esi)
41837e:	e8 78 6a ff ff       	call   0x40edfb
418383:	8b 00                	mov    (%eax),%eax
418385:	eb 41                	jmp    0x4183c8
418387:	40                   	inc    %eax
418388:	85 f6                	test   %esi,%esi
41838a:	74 31                	je     0x4183bd
41838c:	3b c7                	cmp    %edi,%eax
41838e:	76 23                	jbe    0x4183b3
418390:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
418394:	74 16                	je     0x4183ac
418396:	c6 06 00             	movb   $0x0,(%esi)
418399:	e8 5d 6a ff ff       	call   0x40edfb
41839e:	6a 22                	push   $0x22
4183a0:	5e                   	pop    %esi
4183a1:	89 30                	mov    %esi,(%eax)
4183a3:	e8 d9 4c ff ff       	call   0x40d081
4183a8:	8b c6                	mov    %esi,%eax
4183aa:	eb 1c                	jmp    0x4183c8
4183ac:	6a 50                	push   $0x50
4183ae:	8b c7                	mov    %edi,%eax
4183b0:	59                   	pop    %ecx
4183b1:	eb 03                	jmp    0x4183b6
4183b3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4183b6:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
4183bb:	eb 03                	jmp    0x4183c0
4183bd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4183c0:	85 db                	test   %ebx,%ebx
4183c2:	74 02                	je     0x4183c6
4183c4:	89 03                	mov    %eax,(%ebx)
4183c6:	8b c1                	mov    %ecx,%eax
4183c8:	5b                   	pop    %ebx
4183c9:	5f                   	pop    %edi
4183ca:	5e                   	pop    %esi
4183cb:	c9                   	leave
4183cc:	c3                   	ret
4183cd:	8b ff                	mov    %edi,%edi
4183cf:	55                   	push   %ebp
4183d0:	8b ec                	mov    %esp,%ebp
4183d2:	83 ec 20             	sub    $0x20,%esp
4183d5:	a1 14 30 43 00       	mov    0x433014,%eax
4183da:	33 c5                	xor    %ebp,%eax
4183dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4183df:	ff 75 10             	push   0x10(%ebp)
4183e2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4183e5:	e8 94 38 ff ff       	call   0x40bc7e
4183ea:	8b 55 08             	mov    0x8(%ebp),%edx
4183ed:	83 fa ff             	cmp    $0xffffffff,%edx
4183f0:	7c 13                	jl     0x418405
4183f2:	81 fa ff 00 00 00    	cmp    $0xff,%edx
4183f8:	7f 0b                	jg     0x418405
4183fa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4183fd:	8b 00                	mov    (%eax),%eax
4183ff:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
418403:	eb 74                	jmp    0x418479
418405:	53                   	push   %ebx
418406:	56                   	push   %esi
418407:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41840a:	8b da                	mov    %edx,%ebx
41840c:	c1 fb 08             	sar    $0x8,%ebx
41840f:	0f b6 cb             	movzbl %bl,%ecx
418412:	57                   	push   %edi
418413:	8b 06                	mov    (%esi),%eax
418415:	33 ff                	xor    %edi,%edi
418417:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
41841b:	7d 10                	jge    0x41842d
41841d:	33 c9                	xor    %ecx,%ecx
41841f:	88 5d f0             	mov    %bl,-0x10(%ebp)
418422:	6a 02                	push   $0x2
418424:	88 55 f1             	mov    %dl,-0xf(%ebp)
418427:	88 4d f2             	mov    %cl,-0xe(%ebp)
41842a:	58                   	pop    %eax
41842b:	eb 0b                	jmp    0x418438
41842d:	33 c9                	xor    %ecx,%ecx
41842f:	88 55 f0             	mov    %dl,-0x10(%ebp)
418432:	33 c0                	xor    %eax,%eax
418434:	88 4d f1             	mov    %cl,-0xf(%ebp)
418437:	40                   	inc    %eax
418438:	6a 01                	push   $0x1
41843a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41843d:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
418441:	8d 4d f4             	lea    -0xc(%ebp),%ecx
418444:	ff 76 08             	push   0x8(%esi)
418447:	51                   	push   %ecx
418448:	50                   	push   %eax
418449:	8d 45 f0             	lea    -0x10(%ebp),%eax
41844c:	50                   	push   %eax
41844d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
418450:	6a 01                	push   $0x1
418452:	50                   	push   %eax
418453:	e8 cf 02 00 00       	call   0x418727
418458:	83 c4 1c             	add    $0x1c,%esp
41845b:	5f                   	pop    %edi
41845c:	5e                   	pop    %esi
41845d:	5b                   	pop    %ebx
41845e:	85 c0                	test   %eax,%eax
418460:	75 13                	jne    0x418475
418462:	38 45 ec             	cmp    %al,-0x14(%ebp)
418465:	74 0a                	je     0x418471
418467:	8b 45 e0             	mov    -0x20(%ebp),%eax
41846a:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
418471:	33 c0                	xor    %eax,%eax
418473:	eb 17                	jmp    0x41848c
418475:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
418479:	23 45 0c             	and    0xc(%ebp),%eax
41847c:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
418480:	74 0a                	je     0x41848c
418482:	8b 4d e0             	mov    -0x20(%ebp),%ecx
418485:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41848c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41848f:	33 cd                	xor    %ebp,%ecx
418491:	e8 76 ef fe ff       	call   0x40740c
418496:	c9                   	leave
418497:	c3                   	ret
418498:	8b ff                	mov    %edi,%edi
41849a:	55                   	push   %ebp
41849b:	8b ec                	mov    %esp,%ebp
41849d:	83 ec 18             	sub    $0x18,%esp
4184a0:	a1 14 30 43 00       	mov    0x433014,%eax
4184a5:	33 c5                	xor    %ebp,%eax
4184a7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4184aa:	53                   	push   %ebx
4184ab:	56                   	push   %esi
4184ac:	57                   	push   %edi
4184ad:	ff 75 08             	push   0x8(%ebp)
4184b0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4184b3:	e8 c6 37 ff ff       	call   0x40bc7e
4184b8:	8b 45 ec             	mov    -0x14(%ebp),%eax
4184bb:	33 ff                	xor    %edi,%edi
4184bd:	57                   	push   %edi
4184be:	57                   	push   %edi
4184bf:	ff 75 10             	push   0x10(%ebp)
4184c2:	8b 40 08             	mov    0x8(%eax),%eax
4184c5:	ff 75 0c             	push   0xc(%ebp)
4184c8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4184cb:	e8 47 b1 ff ff       	call   0x413617
4184d0:	8b d8                	mov    %eax,%ebx
4184d2:	85 db                	test   %ebx,%ebx
4184d4:	74 7d                	je     0x418553
4184d6:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4184d9:	8d 48 08             	lea    0x8(%eax),%ecx
4184dc:	3b c1                	cmp    %ecx,%eax
4184de:	1b c0                	sbb    %eax,%eax
4184e0:	23 c1                	and    %ecx,%eax
4184e2:	74 32                	je     0x418516
4184e4:	3d 00 04 00 00       	cmp    $0x400,%eax
4184e9:	77 13                	ja     0x4184fe
4184eb:	e8 f0 f6 fe ff       	call   0x407be0
4184f0:	8b f4                	mov    %esp,%esi
4184f2:	85 f6                	test   %esi,%esi
4184f4:	74 56                	je     0x41854c
4184f6:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
4184fc:	eb 13                	jmp    0x418511
4184fe:	50                   	push   %eax
4184ff:	e8 62 b6 ff ff       	call   0x413b66
418504:	8b f0                	mov    %eax,%esi
418506:	59                   	pop    %ecx
418507:	85 f6                	test   %esi,%esi
418509:	74 41                	je     0x41854c
41850b:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
418511:	83 c6 08             	add    $0x8,%esi
418514:	eb 02                	jmp    0x418518
418516:	8b f7                	mov    %edi,%esi
418518:	85 f6                	test   %esi,%esi
41851a:	74 30                	je     0x41854c
41851c:	53                   	push   %ebx
41851d:	56                   	push   %esi
41851e:	ff 75 10             	push   0x10(%ebp)
418521:	ff 75 0c             	push   0xc(%ebp)
418524:	e8 ee b0 ff ff       	call   0x413617
418529:	85 c0                	test   %eax,%eax
41852b:	74 1f                	je     0x41854c
41852d:	8b 45 18             	mov    0x18(%ebp),%eax
418530:	57                   	push   %edi
418531:	57                   	push   %edi
418532:	50                   	push   %eax
418533:	f7 d8                	neg    %eax
418535:	1b c0                	sbb    %eax,%eax
418537:	23 45 14             	and    0x14(%ebp),%eax
41853a:	50                   	push   %eax
41853b:	6a ff                	push   $0xffffffff
41853d:	56                   	push   %esi
41853e:	57                   	push   %edi
41853f:	ff 75 f8             	push   -0x8(%ebp)
418542:	e8 a4 1d 00 00       	call   0x41a2eb
418547:	83 c4 20             	add    $0x20,%esp
41854a:	8b f8                	mov    %eax,%edi
41854c:	56                   	push   %esi
41854d:	e8 9c ee fe ff       	call   0x4073ee
418552:	59                   	pop    %ecx
418553:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
418557:	74 0a                	je     0x418563
418559:	8b 45 e8             	mov    -0x18(%ebp),%eax
41855c:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
418563:	8b c7                	mov    %edi,%eax
418565:	8d 65 dc             	lea    -0x24(%ebp),%esp
418568:	5f                   	pop    %edi
418569:	5e                   	pop    %esi
41856a:	5b                   	pop    %ebx
41856b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41856e:	33 cd                	xor    %ebp,%ecx
418570:	e8 97 ee fe ff       	call   0x40740c
418575:	c9                   	leave
418576:	c3                   	ret
418577:	8b ff                	mov    %edi,%edi
418579:	55                   	push   %ebp
41857a:	8b ec                	mov    %esp,%ebp
41857c:	81 ec 90 00 00 00    	sub    $0x90,%esp
418582:	a1 14 30 43 00       	mov    0x433014,%eax
418587:	33 c5                	xor    %ebp,%eax
418589:	89 45 fc             	mov    %eax,-0x4(%ebp)
41858c:	8b 45 0c             	mov    0xc(%ebp),%eax
41858f:	8b 4d 08             	mov    0x8(%ebp),%ecx
418592:	53                   	push   %ebx
418593:	8b 5d 18             	mov    0x18(%ebp),%ebx
418596:	56                   	push   %esi
418597:	8b 75 10             	mov    0x10(%ebp),%esi
41859a:	57                   	push   %edi
41859b:	33 ff                	xor    %edi,%edi
41859d:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)