42062c:	ff 77 0c             	push   0xc(%edi)
42062f:	8b 4d 10             	mov    0x10(%ebp),%ecx
420632:	ff 77 08             	push   0x8(%edi)
420635:	56                   	push   %esi
420636:	ff 75 14             	push   0x14(%ebp)
420639:	e8 25 00 00 00       	call   0x420663
42063e:	85 c0                	test   %eax,%eax
420640:	75 16                	jne    0x420658
420642:	ff 15 08 11 43 00    	call   *0x431108
420648:	50                   	push   %eax
420649:	e8 c9 bf ff ff       	call   0x41c617
42064e:	59                   	pop    %ecx
42064f:	e8 1d c0 ff ff       	call   0x41c671
420654:	8b 00                	mov    (%eax),%eax
420656:	eb 06                	jmp    0x42065e
420658:	48                   	dec    %eax
420659:	89 47 10             	mov    %eax,0x10(%edi)
42065c:	33 c0                	xor    %eax,%eax
42065e:	5f                   	pop    %edi
42065f:	5b                   	pop    %ebx
420660:	5e                   	pop    %esi
420661:	5d                   	pop    %ebp
420662:	c3                   	ret
420663:	8b ff                	mov    %edi,%edi
420665:	55                   	push   %ebp
420666:	8b ec                	mov    %esp,%ebp
420668:	33 c0                	xor    %eax,%eax
42066a:	50                   	push   %eax
42066b:	50                   	push   %eax
42066c:	ff 75 14             	push   0x14(%ebp)
42066f:	ff 75 10             	push   0x10(%ebp)
420672:	6a ff                	push   $0xffffffff
420674:	ff 75 0c             	push   0xc(%ebp)
420677:	50                   	push   %eax
420678:	ff 75 08             	push   0x8(%ebp)
42067b:	e8 6a 27 00 00       	call   0x422dea
420680:	83 c4 20             	add    $0x20,%esp
420683:	5d                   	pop    %ebp
420684:	c2 10 00             	ret    $0x10
420687:	8b ff                	mov    %edi,%edi
420689:	56                   	push   %esi
42068a:	8b f1                	mov    %ecx,%esi
42068c:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
420690:	74 04                	je     0x420696
420692:	c6 46 14 00          	movb   $0x0,0x14(%esi)
420696:	e8 d6 bf ff ff       	call   0x41c671
42069b:	6a 22                	push   $0x22
42069d:	59                   	pop    %ecx
42069e:	89 08                	mov    %ecx,(%eax)
4206a0:	8b c1                	mov    %ecx,%eax
4206a2:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4206a6:	c6 46 14 00          	movb   $0x0,0x14(%esi)
4206aa:	5e                   	pop    %esi
4206ab:	c2 04 00             	ret    $0x4
4206ae:	33 c0                	xor    %eax,%eax
4206b0:	38 41 14             	cmp    %al,0x14(%ecx)
4206b3:	74 03                	je     0x4206b8
4206b5:	88 41 14             	mov    %al,0x14(%ecx)
4206b8:	89 41 08             	mov    %eax,0x8(%ecx)
4206bb:	89 41 0c             	mov    %eax,0xc(%ecx)
4206be:	89 41 10             	mov    %eax,0x10(%ecx)
4206c1:	c3                   	ret
4206c2:	8b ff                	mov    %edi,%edi
4206c4:	55                   	push   %ebp
4206c5:	8b ec                	mov    %esp,%ebp
4206c7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4206ca:	33 c0                	xor    %eax,%eax
4206cc:	53                   	push   %ebx
4206cd:	56                   	push   %esi
4206ce:	57                   	push   %edi
4206cf:	66 39 01             	cmp    %ax,(%ecx)
4206d2:	74 31                	je     0x420705
4206d4:	8b 55 0c             	mov    0xc(%ebp),%edx
4206d7:	0f b7 3a             	movzwl (%edx),%edi
4206da:	8b f2                	mov    %edx,%esi
4206dc:	66 85 ff             	test   %di,%di
4206df:	74 1c                	je     0x4206fd
4206e1:	0f b7 01             	movzwl (%ecx),%eax
4206e4:	8b df                	mov    %edi,%ebx
4206e6:	66 3b d8             	cmp    %ax,%bx
4206e9:	74 21                	je     0x42070c
4206eb:	83 c6 02             	add    $0x2,%esi
4206ee:	0f b7 06             	movzwl (%esi),%eax
4206f1:	8b d8                	mov    %eax,%ebx
4206f3:	66 85 c0             	test   %ax,%ax
4206f6:	0f b7 01             	movzwl (%ecx),%eax
4206f9:	75 eb                	jne    0x4206e6
4206fb:	33 c0                	xor    %eax,%eax
4206fd:	83 c1 02             	add    $0x2,%ecx
420700:	66 39 01             	cmp    %ax,(%ecx)
420703:	75 d5                	jne    0x4206da
420705:	33 c0                	xor    %eax,%eax
420707:	5f                   	pop    %edi
420708:	5e                   	pop    %esi
420709:	5b                   	pop    %ebx
42070a:	5d                   	pop    %ebp
42070b:	c3                   	ret
42070c:	8b c1                	mov    %ecx,%eax
42070e:	eb f7                	jmp    0x420707
420710:	8b ff                	mov    %edi,%edi
420712:	55                   	push   %ebp
420713:	8b ec                	mov    %esp,%ebp
420715:	8b 45 08             	mov    0x8(%ebp),%eax
420718:	b9 ac de 00 00       	mov    $0xdeac,%ecx
42071d:	3b c1                	cmp    %ecx,%eax
42071f:	77 46                	ja     0x420767
420721:	74 26                	je     0x420749
420723:	b9 33 c4 00 00       	mov    $0xc433,%ecx
420728:	3b c1                	cmp    %ecx,%eax
42072a:	77 21                	ja     0x42074d
42072c:	74 1b                	je     0x420749
42072e:	83 e8 2a             	sub    $0x2a,%eax
420731:	74 16                	je     0x420749
420733:	2d 02 c4 00 00       	sub    $0xc402,%eax
420738:	74 0f                	je     0x420749
42073a:	83 e8 01             	sub    $0x1,%eax
42073d:	74 0a                	je     0x420749
42073f:	83 e8 01             	sub    $0x1,%eax
420742:	74 05                	je     0x420749
420744:	83 e8 03             	sub    $0x3,%eax
420747:	75 52                	jne    0x42079b
420749:	33 c0                	xor    %eax,%eax
42074b:	5d                   	pop    %ebp
42074c:	c3                   	ret
42074d:	2d 35 c4 00 00       	sub    $0xc435,%eax
420752:	74 f5                	je     0x420749
420754:	2d 63 12 00 00       	sub    $0x1263,%eax
420759:	74 45                	je     0x4207a0
42075b:	2d 12 08 00 00       	sub    $0x812,%eax
420760:	74 e7                	je     0x420749
420762:	83 e8 01             	sub    $0x1,%eax
420765:	eb e0                	jmp    0x420747
420767:	b9 b1 de 00 00       	mov    $0xdeb1,%ecx
42076c:	3b c1                	cmp    %ecx,%eax
42076e:	77 13                	ja     0x420783
420770:	74 d7                	je     0x420749
420772:	2d ad de 00 00       	sub    $0xdead,%eax
420777:	74 d0                	je     0x420749
420779:	83 e8 01             	sub    $0x1,%eax
42077c:	74 cb                	je     0x420749
42077e:	83 e8 01             	sub    $0x1,%eax
420781:	eb dd                	jmp    0x420760
420783:	2d b2 de 00 00       	sub    $0xdeb2,%eax
420788:	74 bf                	je     0x420749
42078a:	83 e8 01             	sub    $0x1,%eax
42078d:	74 ba                	je     0x420749
42078f:	2d 35 1f 00 00       	sub    $0x1f35,%eax
420794:	74 b3                	je     0x420749
420796:	83 e8 01             	sub    $0x1,%eax
420799:	74 05                	je     0x4207a0
42079b:	8b 45 0c             	mov    0xc(%ebp),%eax
42079e:	5d                   	pop    %ebp
42079f:	c3                   	ret
4207a0:	8b 45 0c             	mov    0xc(%ebp),%eax
4207a3:	83 e0 08             	and    $0x8,%eax
4207a6:	5d                   	pop    %ebp
4207a7:	c3                   	ret
4207a8:	8b ff                	mov    %edi,%edi
4207aa:	55                   	push   %ebp
4207ab:	8b ec                	mov    %esp,%ebp
4207ad:	ff 75 1c             	push   0x1c(%ebp)
4207b0:	ff 75 18             	push   0x18(%ebp)
4207b3:	ff 75 14             	push   0x14(%ebp)
4207b6:	ff 75 10             	push   0x10(%ebp)
4207b9:	ff 75 0c             	push   0xc(%ebp)
4207bc:	ff 75 08             	push   0x8(%ebp)
4207bf:	e8 4c ff ff ff       	call   0x420710
4207c4:	59                   	pop    %ecx
4207c5:	59                   	pop    %ecx
4207c6:	50                   	push   %eax
4207c7:	ff 75 08             	push   0x8(%ebp)
4207ca:	ff 15 84 10 43 00    	call   *0x431084
4207d0:	5d                   	pop    %ebp
4207d1:	c3                   	ret
4207d2:	8b ff                	mov    %edi,%edi
4207d4:	55                   	push   %ebp
4207d5:	8b ec                	mov    %esp,%ebp
4207d7:	51                   	push   %ecx
4207d8:	51                   	push   %ecx
4207d9:	53                   	push   %ebx
4207da:	56                   	push   %esi
4207db:	6a 38                	push   $0x38
4207dd:	6a 40                	push   $0x40
4207df:	e8 cc 63 fe ff       	call   0x406bb0
4207e4:	8b f0                	mov    %eax,%esi
4207e6:	33 db                	xor    %ebx,%ebx
4207e8:	89 75 f8             	mov    %esi,-0x8(%ebp)
4207eb:	59                   	pop    %ecx
4207ec:	59                   	pop    %ecx
4207ed:	85 f6                	test   %esi,%esi
4207ef:	75 04                	jne    0x4207f5
4207f1:	8b f3                	mov    %ebx,%esi
4207f3:	eb 4b                	jmp    0x420840
4207f5:	8d 86 00 0e 00 00    	lea    0xe00(%esi),%eax
4207fb:	3b f0                	cmp    %eax,%esi
4207fd:	74 41                	je     0x420840
4207ff:	57                   	push   %edi
420800:	8d 7e 20             	lea    0x20(%esi),%edi
420803:	8b f0                	mov    %eax,%esi
420805:	53                   	push   %ebx
420806:	68 a0 0f 00 00       	push   $0xfa0
42080b:	8d 47 e0             	lea    -0x20(%edi),%eax
42080e:	50                   	push   %eax
42080f:	e8 b4 dd ff ff       	call   0x41e5c8
420814:	83 4f f8 ff          	orl    $0xffffffff,-0x8(%edi)
420818:	80 67 0d f8          	andb   $0xf8,0xd(%edi)
42081c:	89 1f                	mov    %ebx,(%edi)
42081e:	8d 7f 38             	lea    0x38(%edi),%edi
420821:	89 5f cc             	mov    %ebx,-0x34(%edi)
420824:	8d 47 e0             	lea    -0x20(%edi),%eax
420827:	c7 47 d0 00 00 0a 0a 	movl   $0xa0a0000,-0x30(%edi)
42082e:	c6 47 d4 0a          	movb   $0xa,-0x2c(%edi)
420832:	89 5f d6             	mov    %ebx,-0x2a(%edi)
420835:	88 5f da             	mov    %bl,-0x26(%edi)
420838:	3b c6                	cmp    %esi,%eax
42083a:	75 c9                	jne    0x420805
42083c:	8b 75 f8             	mov    -0x8(%ebp),%esi
42083f:	5f                   	pop    %edi
420840:	53                   	push   %ebx
420841:	e8 ca 63 fe ff       	call   0x406c10
420846:	59                   	pop    %ecx
420847:	8b c6                	mov    %esi,%eax
420849:	5e                   	pop    %esi
42084a:	5b                   	pop    %ebx
42084b:	c9                   	leave
42084c:	c3                   	ret
42084d:	8b ff                	mov    %edi,%edi
42084f:	55                   	push   %ebp
420850:	8b ec                	mov    %esp,%ebp
420852:	56                   	push   %esi
420853:	8b 75 08             	mov    0x8(%ebp),%esi
420856:	85 f6                	test   %esi,%esi
420858:	74 25                	je     0x42087f
42085a:	53                   	push   %ebx
42085b:	8d 9e 00 0e 00 00    	lea    0xe00(%esi),%ebx
420861:	57                   	push   %edi
420862:	8b fe                	mov    %esi,%edi
420864:	3b f3                	cmp    %ebx,%esi
420866:	74 0e                	je     0x420876
420868:	57                   	push   %edi
420869:	ff 15 1c 11 43 00    	call   *0x43111c
42086f:	83 c7 38             	add    $0x38,%edi
420872:	3b fb                	cmp    %ebx,%edi
420874:	75 f2                	jne    0x420868
420876:	56                   	push   %esi
420877:	e8 94 63 fe ff       	call   0x406c10
42087c:	59                   	pop    %ecx
42087d:	5f                   	pop    %edi
42087e:	5b                   	pop    %ebx
42087f:	5e                   	pop    %esi
420880:	5d                   	pop    %ebp
420881:	c3                   	ret
420882:	6a 10                	push   $0x10
420884:	68 e0 af 43 00       	push   $0x43afe0
420889:	e8 42 9c fe ff       	call   0x40a4d0
42088e:	81 7d 08 00 20 00 00 	cmpl   $0x2000,0x8(%ebp)
420895:	72 21                	jb     0x4208b8
420897:	e8 d5 bd ff ff       	call   0x41c671
42089c:	6a 09                	push   $0x9
42089e:	5e                   	pop    %esi
42089f:	89 30                	mov    %esi,(%eax)
4208a1:	e8 48 cb fe ff       	call   0x40d3ee
4208a6:	8b c6                	mov    %esi,%eax
4208a8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4208ab:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4208b2:	59                   	pop    %ecx
4208b3:	5f                   	pop    %edi
4208b4:	5e                   	pop    %esi
4208b5:	5b                   	pop    %ebx
4208b6:	c9                   	leave
4208b7:	c3                   	ret
4208b8:	33 f6                	xor    %esi,%esi
4208ba:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4208bd:	6a 07                	push   $0x7
4208bf:	e8 be 2a 00 00       	call   0x423382
4208c4:	59                   	pop    %ecx
4208c5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4208c8:	8b fe                	mov    %esi,%edi
4208ca:	a1 00 fa 43 00       	mov    0x43fa00,%eax
4208cf:	89 7d e0             	mov    %edi,-0x20(%ebp)
4208d2:	39 45 08             	cmp    %eax,0x8(%ebp)
4208d5:	7c 1f                	jl     0x4208f6
4208d7:	39 34 bd 00 f8 43 00 	cmp    %esi,0x43f800(,%edi,4)
4208de:	75 31                	jne    0x420911
4208e0:	e8 ed fe ff ff       	call   0x4207d2
4208e5:	89 04 bd 00 f8 43 00 	mov    %eax,0x43f800(,%edi,4)
4208ec:	85 c0                	test   %eax,%eax
4208ee:	75 14                	jne    0x420904
4208f0:	6a 0c                	push   $0xc
4208f2:	5e                   	pop    %esi
4208f3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4208f6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4208fd:	e8 15 00 00 00       	call   0x420917
420902:	eb a2                	jmp    0x4208a6
420904:	a1 00 fa 43 00       	mov    0x43fa00,%eax
420909:	83 c0 40             	add    $0x40,%eax
42090c:	a3 00 fa 43 00       	mov    %eax,0x43fa00
420911:	47                   	inc    %edi
420912:	eb bb                	jmp    0x4208cf
420914:	8b 75 e4             	mov    -0x1c(%ebp),%esi
420917:	6a 07                	push   $0x7
420919:	e8 ac 2a 00 00       	call   0x4233ca
42091e:	59                   	pop    %ecx
42091f:	c3                   	ret
420920:	8b ff                	mov    %edi,%edi
420922:	55                   	push   %ebp
420923:	8b ec                	mov    %esp,%ebp
420925:	8b 45 08             	mov    0x8(%ebp),%eax
420928:	8b c8                	mov    %eax,%ecx
42092a:	83 e0 3f             	and    $0x3f,%eax
42092d:	c1 f9 06             	sar    $0x6,%ecx
420930:	6b c0 38             	imul   $0x38,%eax,%eax
420933:	03 04 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%eax
42093a:	50                   	push   %eax
42093b:	ff 15 14 10 43 00    	call   *0x431014
420941:	5d                   	pop    %ebp
420942:	c3                   	ret
420943:	8b ff                	mov    %edi,%edi
420945:	55                   	push   %ebp
420946:	8b ec                	mov    %esp,%ebp
420948:	51                   	push   %ecx
420949:	53                   	push   %ebx
42094a:	56                   	push   %esi
42094b:	8b 75 08             	mov    0x8(%ebp),%esi
42094e:	85 f6                	test   %esi,%esi
420950:	78 69                	js     0x4209bb
420952:	3b 35 00 fa 43 00    	cmp    0x43fa00,%esi
420958:	73 61                	jae    0x4209bb
42095a:	8b c6                	mov    %esi,%eax
42095c:	8b de                	mov    %esi,%ebx
42095e:	83 e0 3f             	and    $0x3f,%eax
420961:	c1 eb 06             	shr    $0x6,%ebx
420964:	6b c8 38             	imul   $0x38,%eax,%ecx
420967:	8b 04 9d 00 f8 43 00 	mov    0x43f800(,%ebx,4),%eax
42096e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
420971:	83 7c 01 18 ff       	cmpl   $0xffffffff,0x18(%ecx,%eax,1)
420976:	75 43                	jne    0x4209bb
420978:	57                   	push   %edi
420979:	e8 d3 8b ff ff       	call   0x419551
42097e:	8b 7d 0c             	mov    0xc(%ebp),%edi
420981:	83 f8 01             	cmp    $0x1,%eax
420984:	75 22                	jne    0x4209a8
420986:	83 ee 00             	sub    $0x0,%esi
420989:	74 14                	je     0x42099f
42098b:	83 ee 01             	sub    $0x1,%esi
42098e:	74 0a                	je     0x42099a
420990:	83 ee 01             	sub    $0x1,%esi
420993:	75 13                	jne    0x4209a8
420995:	57                   	push   %edi
420996:	6a f4                	push   $0xfffffff4