4144f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4144f8:	e8 cb 82 ff ff       	call   0x40c7c8
4144fd:	8d 45 f4             	lea    -0xc(%ebp),%eax
414500:	50                   	push   %eax
414501:	6a 08                	push   $0x8
414503:	ff 75 08             	push   0x8(%ebp)
414506:	e8 d4 f8 ff ff       	call   0x413ddf
41450b:	83 c4 0c             	add    $0xc,%esp
41450e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
414512:	74 0a                	je     0x41451e
414514:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414517:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41451e:	8b e5                	mov    %ebp,%esp
414520:	5d                   	pop    %ebp
414521:	c3                   	ret
414522:	8b ff                	mov    %edi,%edi
414524:	55                   	push   %ebp
414525:	8b ec                	mov    %esp,%ebp
414527:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
41452c:	85 c0                	test   %eax,%eax
41452e:	74 0e                	je     0x41453e
414530:	6a 00                	push   $0x0
414532:	ff 75 08             	push   0x8(%ebp)
414535:	e8 78 ff ff ff       	call   0x4144b2
41453a:	59                   	pop    %ecx
41453b:	59                   	pop    %ecx
41453c:	5d                   	pop    %ebp
41453d:	c3                   	ret
41453e:	8b 4d 08             	mov    0x8(%ebp),%ecx
414541:	a1 e0 bb 43 00       	mov    0x43bbe0,%eax
414546:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41454a:	83 e0 04             	and    $0x4,%eax
41454d:	5d                   	pop    %ebp
41454e:	c3                   	ret
41454f:	8b ff                	mov    %edi,%edi
414551:	55                   	push   %ebp
414552:	8b ec                	mov    %esp,%ebp
414554:	a1 dc 9c 83 02       	mov    0x2839cdc,%eax
414559:	85 c0                	test   %eax,%eax
41455b:	74 0e                	je     0x41456b
41455d:	6a 00                	push   $0x0
41455f:	ff 75 08             	push   0x8(%ebp)
414562:	e8 83 ff ff ff       	call   0x4144ea
414567:	59                   	pop    %ecx
414568:	59                   	pop    %ecx
414569:	5d                   	pop    %ebp
41456a:	c3                   	ret
41456b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41456e:	a1 e0 bb 43 00       	mov    0x43bbe0,%eax
414573:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
414577:	83 e0 08             	and    $0x8,%eax
41457a:	5d                   	pop    %ebp
41457b:	c3                   	ret
41457c:	8b ff                	mov    %edi,%edi
41457e:	55                   	push   %ebp
41457f:	8b ec                	mov    %esp,%ebp
414581:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
414585:	75 04                	jne    0x41458b
414587:	33 c0                	xor    %eax,%eax
414589:	5d                   	pop    %ebp
41458a:	c3                   	ret
41458b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41458e:	57                   	push   %edi
41458f:	33 ff                	xor    %edi,%edi
414591:	8d 51 02             	lea    0x2(%ecx),%edx
414594:	66 8b 01             	mov    (%ecx),%ax
414597:	83 c1 02             	add    $0x2,%ecx
41459a:	66 3b c7             	cmp    %di,%ax
41459d:	75 f5                	jne    0x414594
41459f:	2b ca                	sub    %edx,%ecx
4145a1:	d1 f9                	sar    $1,%ecx
4145a3:	53                   	push   %ebx
4145a4:	8d 59 01             	lea    0x1(%ecx),%ebx
4145a7:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4145aa:	50                   	push   %eax
4145ab:	e8 3f 05 00 00       	call   0x414aef
4145b0:	8b f8                	mov    %eax,%edi
4145b2:	59                   	pop    %ecx
4145b3:	85 ff                	test   %edi,%edi
4145b5:	75 04                	jne    0x4145bb
4145b7:	5b                   	pop    %ebx
4145b8:	5f                   	pop    %edi
4145b9:	5d                   	pop    %ebp
4145ba:	c3                   	ret
4145bb:	ff 75 08             	push   0x8(%ebp)
4145be:	53                   	push   %ebx
4145bf:	57                   	push   %edi
4145c0:	e8 04 0f 00 00       	call   0x4154c9
4145c5:	83 c4 0c             	add    $0xc,%esp
4145c8:	85 c0                	test   %eax,%eax
4145ca:	75 04                	jne    0x4145d0
4145cc:	8b c7                	mov    %edi,%eax
4145ce:	eb e7                	jmp    0x4145b7
4145d0:	33 c0                	xor    %eax,%eax
4145d2:	50                   	push   %eax
4145d3:	50                   	push   %eax
4145d4:	50                   	push   %eax
4145d5:	50                   	push   %eax
4145d6:	50                   	push   %eax
4145d7:	e8 33 77 ff ff       	call   0x40bd0f
4145dc:	cc                   	int3
4145dd:	8b ff                	mov    %edi,%edi
4145df:	55                   	push   %ebp
4145e0:	8b ec                	mov    %esp,%ebp
4145e2:	51                   	push   %ecx
4145e3:	e8 74 45 00 00       	call   0x418b5c
4145e8:	8b 48 4c             	mov    0x4c(%eax),%ecx
4145eb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4145ee:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4145f1:	51                   	push   %ecx
4145f2:	50                   	push   %eax
4145f3:	e8 c0 55 00 00       	call   0x419bb8
4145f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4145fb:	59                   	pop    %ecx
4145fc:	59                   	pop    %ecx
4145fd:	8b 40 08             	mov    0x8(%eax),%eax
414600:	8b e5                	mov    %ebp,%esp
414602:	5d                   	pop    %ebp
414603:	c3                   	ret
414604:	8b ff                	mov    %edi,%edi
414606:	55                   	push   %ebp
414607:	8b ec                	mov    %esp,%ebp
414609:	51                   	push   %ecx
41460a:	e8 4d 45 00 00       	call   0x418b5c
41460f:	8b 48 4c             	mov    0x4c(%eax),%ecx
414612:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414615:	8d 4d fc             	lea    -0x4(%ebp),%ecx
414618:	51                   	push   %ecx
414619:	50                   	push   %eax
41461a:	e8 99 55 00 00       	call   0x419bb8
41461f:	8b 45 fc             	mov    -0x4(%ebp),%eax
414622:	59                   	pop    %ecx
414623:	59                   	pop    %ecx
414624:	05 a0 00 00 00       	add    $0xa0,%eax
414629:	8b e5                	mov    %ebp,%esp
41462b:	5d                   	pop    %ebp
41462c:	c3                   	ret
41462d:	8b ff                	mov    %edi,%edi
41462f:	55                   	push   %ebp
414630:	8b ec                	mov    %esp,%ebp
414632:	51                   	push   %ecx
414633:	e8 24 45 00 00       	call   0x418b5c
414638:	8b 48 4c             	mov    0x4c(%eax),%ecx
41463b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41463e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
414641:	51                   	push   %ecx
414642:	50                   	push   %eax
414643:	e8 70 55 00 00       	call   0x419bb8
414648:	8b 45 fc             	mov    -0x4(%ebp),%eax
41464b:	59                   	pop    %ecx
41464c:	59                   	pop    %ecx
41464d:	8b 40 04             	mov    0x4(%eax),%eax
414650:	8b e5                	mov    %ebp,%esp
414652:	5d                   	pop    %ebp
414653:	c3                   	ret
414654:	8b ff                	mov    %edi,%edi
414656:	55                   	push   %ebp
414657:	8b ec                	mov    %esp,%ebp
414659:	83 ec 48             	sub    $0x48,%esp
41465c:	a1 28 ba 43 00       	mov    0x43ba28,%eax
414661:	33 c5                	xor    %ebp,%eax
414663:	89 45 fc             	mov    %eax,-0x4(%ebp)
414666:	53                   	push   %ebx
414667:	56                   	push   %esi
414668:	8b 75 08             	mov    0x8(%ebp),%esi
41466b:	33 db                	xor    %ebx,%ebx
41466d:	57                   	push   %edi
41466e:	89 75 c4             	mov    %esi,-0x3c(%ebp)
414671:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
414674:	8b 8e a8 00 00 00    	mov    0xa8(%esi),%ecx
41467a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41467d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
414680:	89 5d d0             	mov    %ebx,-0x30(%ebp)
414683:	89 75 b8             	mov    %esi,-0x48(%ebp)
414686:	89 5d bc             	mov    %ebx,-0x44(%ebp)
414689:	85 c9                	test   %ecx,%ecx
41468b:	0f 84 14 03 00 00    	je     0x4149a5
414691:	8d 46 08             	lea    0x8(%esi),%eax
414694:	89 5d d8             	mov    %ebx,-0x28(%ebp)
414697:	39 18                	cmp    %ebx,(%eax)
414699:	75 1c                	jne    0x4146b7
41469b:	50                   	push   %eax
41469c:	68 04 10 00 00       	push   $0x1004
4146a1:	51                   	push   %ecx
4146a2:	8d 45 b8             	lea    -0x48(%ebp),%eax
4146a5:	53                   	push   %ebx
4146a6:	50                   	push   %eax
4146a7:	e8 f3 78 00 00       	call   0x41bf9f
4146ac:	83 c4 14             	add    $0x14,%esp
4146af:	85 c0                	test   %eax,%eax
4146b1:	0f 85 bb 02 00 00    	jne    0x414972
4146b7:	6a 04                	push   $0x4
4146b9:	6a 01                	push   $0x1
4146bb:	e8 6f fd ff ff       	call   0x41442f
4146c0:	53                   	push   %ebx
4146c1:	89 45 d8             	mov    %eax,-0x28(%ebp)
4146c4:	e8 47 06 00 00       	call   0x414d10
4146c9:	6a 02                	push   $0x2
4146cb:	bf 80 01 00 00       	mov    $0x180,%edi
4146d0:	57                   	push   %edi
4146d1:	e8 59 fd ff ff       	call   0x41442f
4146d6:	53                   	push   %ebx
4146d7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4146da:	e8 31 06 00 00       	call   0x414d10
4146df:	6a 01                	push   $0x1
4146e1:	57                   	push   %edi
4146e2:	e8 48 fd ff ff       	call   0x41442f
4146e7:	53                   	push   %ebx
4146e8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4146eb:	e8 20 06 00 00       	call   0x414d10
4146f0:	6a 01                	push   $0x1
4146f2:	57                   	push   %edi
4146f3:	e8 37 fd ff ff       	call   0x41442f
4146f8:	53                   	push   %ebx
4146f9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4146fc:	e8 0f 06 00 00       	call   0x414d10
414701:	6a 01                	push   $0x1
414703:	68 01 01 00 00       	push   $0x101
414708:	e8 22 fd ff ff       	call   0x41442f
41470d:	8b f8                	mov    %eax,%edi
41470f:	53                   	push   %ebx
414710:	89 7d d0             	mov    %edi,-0x30(%ebp)
414713:	e8 f8 05 00 00       	call   0x414d10
414718:	83 c4 3c             	add    $0x3c,%esp
41471b:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
41471e:	0f 84 4e 02 00 00    	je     0x414972
414724:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
414727:	0f 84 45 02 00 00    	je     0x414972
41472d:	85 ff                	test   %edi,%edi
41472f:	0f 84 3d 02 00 00    	je     0x414972
414735:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
414738:	0f 84 34 02 00 00    	je     0x414972
41473e:	39 5d dc             	cmp    %ebx,-0x24(%ebp)
414741:	0f 84 2b 02 00 00    	je     0x414972
414747:	8b c3                	mov    %ebx,%eax
414749:	88 04 38             	mov    %al,(%eax,%edi,1)
41474c:	40                   	inc    %eax
41474d:	3d 00 01 00 00       	cmp    $0x100,%eax
414752:	7c f5                	jl     0x414749
414754:	8d 45 e8             	lea    -0x18(%ebp),%eax
414757:	50                   	push   %eax
414758:	ff 76 08             	push   0x8(%esi)
41475b:	ff 15 7c 71 42 00    	call   *0x42717c
414761:	85 c0                	test   %eax,%eax
414763:	0f 84 09 02 00 00    	je     0x414972
414769:	8b 45 e8             	mov    -0x18(%ebp),%eax
41476c:	83 f8 05             	cmp    $0x5,%eax
41476f:	0f 87 fd 01 00 00    	ja     0x414972
414775:	53                   	push   %ebx
414776:	ff 76 08             	push   0x8(%esi)
414779:	0f b7 c0             	movzwl %ax,%eax
41477c:	8d 4f 01             	lea    0x1(%edi),%ecx
41477f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
414782:	ba ff 00 00 00       	mov    $0xff,%edx
414787:	8b 45 e0             	mov    -0x20(%ebp),%eax
41478a:	52                   	push   %edx
41478b:	05 81 00 00 00       	add    $0x81,%eax
414790:	50                   	push   %eax
414791:	52                   	push   %edx
414792:	51                   	push   %ecx
414793:	68 00 01 00 00       	push   $0x100
414798:	ff b6 a8 00 00 00    	push   0xa8(%esi)
41479e:	53                   	push   %ebx
41479f:	e8 e7 7c 00 00       	call   0x41c48b
4147a4:	83 c4 24             	add    $0x24,%esp
4147a7:	85 c0                	test   %eax,%eax
4147a9:	0f 84 c3 01 00 00    	je     0x414972
4147af:	8b 45 dc             	mov    -0x24(%ebp),%eax
4147b2:	b9 ff 00 00 00       	mov    $0xff,%ecx
4147b7:	53                   	push   %ebx
4147b8:	ff 76 08             	push   0x8(%esi)
4147bb:	05 81 00 00 00       	add    $0x81,%eax
4147c0:	51                   	push   %ecx
4147c1:	50                   	push   %eax
4147c2:	51                   	push   %ecx
4147c3:	8d 47 01             	lea    0x1(%edi),%eax
4147c6:	50                   	push   %eax
4147c7:	68 00 02 00 00       	push   $0x200
4147cc:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4147d2:	53                   	push   %ebx
4147d3:	e8 b3 7c 00 00       	call   0x41c48b
4147d8:	83 c4 24             	add    $0x24,%esp
4147db:	85 c0                	test   %eax,%eax
4147dd:	0f 84 8f 01 00 00    	je     0x414972
4147e3:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
4147e7:	7e 2b                	jle    0x414814
4147e9:	38 5d ee             	cmp    %bl,-0x12(%ebp)
4147ec:	74 26                	je     0x414814
4147ee:	8d 4d ef             	lea    -0x11(%ebp),%ecx
4147f1:	8a 01                	mov    (%ecx),%al
4147f3:	84 c0                	test   %al,%al
4147f5:	74 1d                	je     0x414814
4147f7:	0f b6 51 ff          	movzbl -0x1(%ecx),%edx
4147fb:	0f b6 c0             	movzbl %al,%eax
4147fe:	eb 08                	jmp    0x414808
414800:	c6 04 3a 20          	movb   $0x20,(%edx,%edi,1)
414804:	42                   	inc    %edx
414805:	0f b6 01             	movzbl (%ecx),%eax
414808:	3b d0                	cmp    %eax,%edx
41480a:	7e f4                	jle    0x414800
41480c:	83 c1 02             	add    $0x2,%ecx
41480f:	38 59 ff             	cmp    %bl,-0x1(%ecx)
414812:	75 dd                	jne    0x4147f1
414814:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414817:	53                   	push   %ebx
414818:	ff 76 08             	push   0x8(%esi)
41481b:	05 00 01 00 00       	add    $0x100,%eax
414820:	50                   	push   %eax
414821:	68 00 01 00 00       	push   $0x100
414826:	57                   	push   %edi
414827:	6a 01                	push   $0x1
414829:	53                   	push   %ebx
41482a:	89 45 c8             	mov    %eax,-0x38(%ebp)
41482d:	e8 1f 79 00 00       	call   0x41c151
414832:	83 c4 1c             	add    $0x1c,%esp
414835:	85 c0                	test   %eax,%eax
414837:	0f 84 35 01 00 00    	je     0x414972
41483d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
414840:	33 c9                	xor    %ecx,%ecx
414842:	8d 82 fe 00 00 00    	lea    0xfe(%edx),%eax
414848:	66 89 08             	mov    %cx,(%eax)
41484b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41484e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
414851:	8b 45 dc             	mov    -0x24(%ebp),%eax
414854:	88 59 7f             	mov    %bl,0x7f(%ecx)
414857:	83 e9 80             	sub    $0xffffff80,%ecx
41485a:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
41485e:	88 58 7f             	mov    %bl,0x7f(%eax)
414861:	89 4d c0             	mov    %ecx,-0x40(%ebp)
414864:	88 19                	mov    %bl,(%ecx)
414866:	8d 88 80 00 00 00    	lea    0x80(%eax),%ecx
41486c:	89 4d cc             	mov    %ecx,-0x34(%ebp)
41486f:	88 19                	mov    %bl,(%ecx)
414871:	7e 40                	jle    0x4148b3
414873:	38 5d ee             	cmp    %bl,-0x12(%ebp)
414876:	74 3b                	je     0x4148b3
414878:	8d 4d ef             	lea    -0x11(%ebp),%ecx
41487b:	8a 01                	mov    (%ecx),%al
41487d:	84 c0                	test   %al,%al
41487f:	74 2f                	je     0x4148b0
414881:	0f b6 71 ff          	movzbl -0x1(%ecx),%esi
414885:	0f b6 c0             	movzbl %al,%eax
414888:	3b f0                	cmp    %eax,%esi
41488a:	7f 1c                	jg     0x4148a8
41488c:	8d ba 00 01 00 00    	lea    0x100(%edx),%edi
414892:	8d 3c 77             	lea    (%edi,%esi,2),%edi
414895:	b8 00 80 00 00       	mov    $0x8000,%eax
41489a:	46                   	inc    %esi
41489b:	66 89 07             	mov    %ax,(%edi)
41489e:	8d 7f 02             	lea    0x2(%edi),%edi