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)
4185a3:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
4185a9:	89 3b                	mov    %edi,(%ebx)
4185ab:	83 f8 01             	cmp    $0x1,%eax
4185ae:	0f 85 e2 00 00 00    	jne    0x418696
4185b4:	68 80 00 00 00       	push   $0x80
4185b9:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
4185bf:	50                   	push   %eax
4185c0:	ff 75 14             	push   0x14(%ebp)
4185c3:	56                   	push   %esi
4185c4:	51                   	push   %ecx
4185c5:	e8 ce fe ff ff       	call   0x418498
4185ca:	83 c4 14             	add    $0x14,%esp
4185cd:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4185d3:	85 c0                	test   %eax,%eax
4185d5:	74 46                	je     0x41861d
4185d7:	6a 01                	push   $0x1
4185d9:	50                   	push   %eax
4185da:	e8 cf aa ff ff       	call   0x4130ae
4185df:	57                   	push   %edi
4185e0:	89 03                	mov    %eax,(%ebx)
4185e2:	e8 24 ab ff ff       	call   0x41310b
4185e7:	83 c4 0c             	add    $0xc,%esp
4185ea:	39 3b                	cmp    %edi,(%ebx)
4185ec:	0f 84 18 01 00 00    	je     0x41870a
4185f2:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
4185f8:	8d 41 ff             	lea    -0x1(%ecx),%eax
4185fb:	50                   	push   %eax
4185fc:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
418602:	50                   	push   %eax
418603:	51                   	push   %ecx
418604:	ff 33                	push   (%ebx)
418606:	e8 64 82 00 00       	call   0x42086f
41860b:	83 c4 10             	add    $0x10,%esp
41860e:	85 c0                	test   %eax,%eax
418610:	0f 85 06 01 00 00    	jne    0x41871c
418616:	33 c0                	xor    %eax,%eax
418618:	e9 f0 00 00 00       	jmp    0x41870d
41861d:	ff 15 98 40 42 00    	call   *0x424098
418623:	83 f8 7a             	cmp    $0x7a,%eax
418626:	0f 85 de 00 00 00    	jne    0x41870a
41862c:	57                   	push   %edi
41862d:	57                   	push   %edi
41862e:	ff 75 14             	push   0x14(%ebp)
418631:	56                   	push   %esi
418632:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
418638:	e8 5b fe ff ff       	call   0x418498
41863d:	83 c4 14             	add    $0x14,%esp
418640:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
418646:	85 c0                	test   %eax,%eax
418648:	0f 84 bc 00 00 00    	je     0x41870a
41864e:	6a 01                	push   $0x1
418650:	50                   	push   %eax
418651:	e8 58 aa ff ff       	call   0x4130ae
418656:	8b f0                	mov    %eax,%esi
418658:	59                   	pop    %ecx
418659:	59                   	pop    %ecx
41865a:	85 f6                	test   %esi,%esi
41865c:	74 2a                	je     0x418688
41865e:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
418664:	56                   	push   %esi
418665:	ff 75 14             	push   0x14(%ebp)
418668:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
41866e:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
418674:	e8 1f fe ff ff       	call   0x418498
418679:	83 c4 14             	add    $0x14,%esp
41867c:	85 c0                	test   %eax,%eax
41867e:	74 08                	je     0x418688
418680:	8b c6                	mov    %esi,%eax
418682:	8b f7                	mov    %edi,%esi
418684:	89 03                	mov    %eax,(%ebx)
418686:	eb 03                	jmp    0x41868b
418688:	83 cf ff             	or     $0xffffffff,%edi
41868b:	56                   	push   %esi
41868c:	e8 7a aa ff ff       	call   0x41310b
418691:	59                   	pop    %ecx
418692:	8b c7                	mov    %edi,%eax
418694:	eb 77                	jmp    0x41870d
418696:	83 f8 02             	cmp    $0x2,%eax
418699:	75 3c                	jne    0x4186d7
41869b:	57                   	push   %edi
41869c:	57                   	push   %edi
41869d:	ff 75 14             	push   0x14(%ebp)
4186a0:	56                   	push   %esi
4186a1:	e8 71 af ff ff       	call   0x413617
4186a6:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4186ac:	85 c0                	test   %eax,%eax
4186ae:	74 5a                	je     0x41870a
4186b0:	6a 02                	push   $0x2
4186b2:	50                   	push   %eax
4186b3:	e8 f6 a9 ff ff       	call   0x4130ae
4186b8:	8b f0                	mov    %eax,%esi
4186ba:	59                   	pop    %ecx
4186bb:	59                   	pop    %ecx
4186bc:	85 f6                	test   %esi,%esi
4186be:	74 c8                	je     0x418688
4186c0:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
4186c6:	56                   	push   %esi
4186c7:	ff 75 14             	push   0x14(%ebp)
4186ca:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
4186d0:	e8 42 af ff ff       	call   0x413617
4186d5:	eb a5                	jmp    0x41867c
4186d7:	85 c0                	test   %eax,%eax
4186d9:	75 2f                	jne    0x41870a
4186db:	6a 02                	push   $0x2
4186dd:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4186e3:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
4186e9:	50                   	push   %eax
4186ea:	8b 45 14             	mov    0x14(%ebp),%eax
4186ed:	0d 00 00 00 20       	or     $0x20000000,%eax
4186f2:	50                   	push   %eax
4186f3:	56                   	push   %esi
4186f4:	e8 1e af ff ff       	call   0x413617
4186f9:	85 c0                	test   %eax,%eax
4186fb:	74 0d                	je     0x41870a
4186fd:	8a 85 78 ff ff ff    	mov    -0x88(%ebp),%al
418703:	88 03                	mov    %al,(%ebx)
418705:	e9 0c ff ff ff       	jmp    0x418616
41870a:	83 c8 ff             	or     $0xffffffff,%eax
41870d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418710:	5f                   	pop    %edi
418711:	5e                   	pop    %esi
418712:	33 cd                	xor    %ebp,%ecx
418714:	5b                   	pop    %ebx
418715:	e8 f2 ec fe ff       	call   0x40740c
41871a:	c9                   	leave
41871b:	c3                   	ret
41871c:	57                   	push   %edi
41871d:	57                   	push   %edi
41871e:	57                   	push   %edi
41871f:	57                   	push   %edi
418720:	57                   	push   %edi
418721:	e8 88 49 ff ff       	call   0x40d0ae
418726:	cc                   	int3
418727:	8b ff                	mov    %edi,%edi
418729:	55                   	push   %ebp
41872a:	8b ec                	mov    %esp,%ebp
41872c:	83 ec 1c             	sub    $0x1c,%esp
41872f:	a1 14 30 43 00       	mov    0x433014,%eax
418734:	33 c5                	xor    %ebp,%eax
418736:	89 45 fc             	mov    %eax,-0x4(%ebp)
418739:	53                   	push   %ebx
41873a:	56                   	push   %esi
41873b:	57                   	push   %edi
41873c:	ff 75 08             	push   0x8(%ebp)
41873f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
418742:	e8 37 35 ff ff       	call   0x40bc7e
418747:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41874a:	85 db                	test   %ebx,%ebx
41874c:	75 06                	jne    0x418754
41874e:	8b 45 e8             	mov    -0x18(%ebp),%eax
418751:	8b 58 08             	mov    0x8(%eax),%ebx
418754:	33 c0                	xor    %eax,%eax
418756:	33 ff                	xor    %edi,%edi
418758:	39 45 20             	cmp    %eax,0x20(%ebp)
41875b:	57                   	push   %edi
41875c:	57                   	push   %edi
41875d:	ff 75 14             	push   0x14(%ebp)
418760:	0f 95 c0             	setne  %al
418763:	ff 75 10             	push   0x10(%ebp)
418766:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
41876d:	50                   	push   %eax
41876e:	53                   	push   %ebx
41876f:	e8 fb 1a 00 00       	call   0x41a26f
418774:	83 c4 18             	add    $0x18,%esp
418777:	89 45 f4             	mov    %eax,-0xc(%ebp)
41877a:	85 c0                	test   %eax,%eax
41877c:	0f 84 84 00 00 00    	je     0x418806
418782:	8d 14 00             	lea    (%eax,%eax,1),%edx
418785:	8d 4a 08             	lea    0x8(%edx),%ecx
418788:	89 55 f8             	mov    %edx,-0x8(%ebp)
41878b:	3b d1                	cmp    %ecx,%edx
41878d:	1b c0                	sbb    %eax,%eax
41878f:	23 c1                	and    %ecx,%eax
418791:	74 35                	je     0x4187c8
418793:	3d 00 04 00 00       	cmp    $0x400,%eax