427604:	74 0c                	je     0x427612
427606:	66 39 01             	cmp    %ax,(%ecx)
427609:	74 07                	je     0x427612
42760b:	83 c1 02             	add    $0x2,%ecx
42760e:	3b cf                	cmp    %edi,%ecx
427610:	75 f4                	jne    0x427606
427612:	2b ce                	sub    %esi,%ecx
427614:	d1 f9                	sar    $1,%ecx
427616:	3b ca                	cmp    %edx,%ecx
427618:	75 6b                	jne    0x427685
42761a:	8b 45 0c             	mov    0xc(%ebp),%eax
42761d:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
427620:	2b c2                	sub    %edx,%eax
427622:	0f 57 c9             	xorps  %xmm1,%xmm1
427625:	83 e0 f0             	and    $0xfffffff0,%eax
427628:	03 c1                	add    %ecx,%eax
42762a:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
42762d:	eb 12                	jmp    0x427641
42762f:	0f 28 c1             	movaps %xmm1,%xmm0
427632:	66 0f 75 07          	pcmpeqw (%edi),%xmm0
427636:	66 0f d7 c0          	pmovmskb %xmm0,%eax
42763a:	85 c0                	test   %eax,%eax
42763c:	75 07                	jne    0x427645
42763e:	83 c7 10             	add    $0x10,%edi
427641:	3b f9                	cmp    %ecx,%edi
427643:	75 ea                	jne    0x42762f
427645:	8b 45 0c             	mov    0xc(%ebp),%eax
427648:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
42764b:	3b f9                	cmp    %ecx,%edi
42764d:	74 0e                	je     0x42765d
42764f:	33 c0                	xor    %eax,%eax
427651:	66 39 07             	cmp    %ax,(%edi)
427654:	74 07                	je     0x42765d
427656:	83 c7 02             	add    $0x2,%edi
427659:	3b f9                	cmp    %ecx,%edi
42765b:	75 f4                	jne    0x427651
42765d:	8b cf                	mov    %edi,%ecx
42765f:	e9 ae fe ff ff       	jmp    0x427512
427664:	8b 55 08             	mov    0x8(%ebp),%edx
427667:	8b ca                	mov    %edx,%ecx
427669:	8b 45 0c             	mov    0xc(%ebp),%eax
42766c:	8d 34 42             	lea    (%edx,%eax,2),%esi
42766f:	3b d6                	cmp    %esi,%edx
427671:	74 0e                	je     0x427681
427673:	33 c0                	xor    %eax,%eax
427675:	66 39 01             	cmp    %ax,(%ecx)
427678:	74 07                	je     0x427681
42767a:	83 c1 02             	add    $0x2,%ecx
42767d:	3b ce                	cmp    %esi,%ecx
42767f:	75 f4                	jne    0x427675
427681:	2b ca                	sub    %edx,%ecx
427683:	d1 f9                	sar    $1,%ecx
427685:	5f                   	pop    %edi
427686:	8b c1                	mov    %ecx,%eax
427688:	5e                   	pop    %esi
427689:	5d                   	pop    %ebp
42768a:	c3                   	ret
42768b:	8b ff                	mov    %edi,%edi
42768d:	55                   	push   %ebp
42768e:	8b ec                	mov    %esp,%ebp
427690:	51                   	push   %ecx
427691:	56                   	push   %esi
427692:	57                   	push   %edi
427693:	e8 82 30 00 00       	call   0x42a71a
427698:	8b f0                	mov    %eax,%esi
42769a:	85 f6                	test   %esi,%esi
42769c:	74 1c                	je     0x4276ba
42769e:	8b 16                	mov    (%esi),%edx
4276a0:	8b ca                	mov    %edx,%ecx
4276a2:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
4276a8:	3b d0                	cmp    %eax,%edx
4276aa:	74 0e                	je     0x4276ba
4276ac:	8b 7d 08             	mov    0x8(%ebp),%edi
4276af:	39 39                	cmp    %edi,(%ecx)
4276b1:	74 0d                	je     0x4276c0
4276b3:	83 c1 0c             	add    $0xc,%ecx
4276b6:	3b c8                	cmp    %eax,%ecx
4276b8:	75 f5                	jne    0x4276af
4276ba:	33 c0                	xor    %eax,%eax
4276bc:	5f                   	pop    %edi
4276bd:	5e                   	pop    %esi
4276be:	c9                   	leave
4276bf:	c3                   	ret
4276c0:	85 c9                	test   %ecx,%ecx
4276c2:	74 f6                	je     0x4276ba
4276c4:	8b 79 08             	mov    0x8(%ecx),%edi
4276c7:	85 ff                	test   %edi,%edi
4276c9:	74 ef                	je     0x4276ba
4276cb:	83 ff 05             	cmp    $0x5,%edi
4276ce:	75 09                	jne    0x4276d9
4276d0:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4276d4:	33 c0                	xor    %eax,%eax
4276d6:	40                   	inc    %eax
4276d7:	eb e3                	jmp    0x4276bc
4276d9:	83 ff 01             	cmp    $0x1,%edi
4276dc:	75 05                	jne    0x4276e3
4276de:	83 c8 ff             	or     $0xffffffff,%eax
4276e1:	eb d9                	jmp    0x4276bc
4276e3:	8b 46 04             	mov    0x4(%esi),%eax
4276e6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4276e9:	8b 45 0c             	mov    0xc(%ebp),%eax
4276ec:	89 46 04             	mov    %eax,0x4(%esi)
4276ef:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
4276f3:	0f 85 bb 00 00 00    	jne    0x4277b4
4276f9:	83 c2 24             	add    $0x24,%edx
4276fc:	8d 42 6c             	lea    0x6c(%edx),%eax
4276ff:	eb 07                	jmp    0x427708
427701:	83 62 08 00          	andl   $0x0,0x8(%edx)
427705:	83 c2 0c             	add    $0xc,%edx
427708:	3b d0                	cmp    %eax,%edx
42770a:	75 f5                	jne    0x427701
42770c:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
427711:	53                   	push   %ebx
427712:	8b 5e 08             	mov    0x8(%esi),%ebx
427715:	39 01                	cmp    %eax,(%ecx)
427717:	77 47                	ja     0x427760
427719:	74 3e                	je     0x427759
42771b:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
427721:	74 2f                	je     0x427752
427723:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
427729:	74 20                	je     0x42774b
42772b:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
427731:	74 11                	je     0x427744
427733:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
427739:	8b c3                	mov    %ebx,%eax
42773b:	75 62                	jne    0x42779f
42773d:	b8 81 00 00 00       	mov    $0x81,%eax
427742:	eb 58                	jmp    0x42779c
427744:	b8 86 00 00 00       	mov    $0x86,%eax
427749:	eb 51                	jmp    0x42779c
42774b:	b8 83 00 00 00       	mov    $0x83,%eax
427750:	eb 4a                	jmp    0x42779c
427752:	b8 82 00 00 00       	mov    $0x82,%eax
427757:	eb 43                	jmp    0x42779c
427759:	b8 84 00 00 00       	mov    $0x84,%eax
42775e:	eb 3c                	jmp    0x42779c
427760:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
427766:	74 2f                	je     0x427797
427768:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
42776e:	74 20                	je     0x427790
427770:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
427776:	74 11                	je     0x427789
427778:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
42777e:	8b c3                	mov    %ebx,%eax
427780:	75 1d                	jne    0x42779f
427782:	b8 8d 00 00 00       	mov    $0x8d,%eax
427787:	eb 13                	jmp    0x42779c
427789:	b8 8e 00 00 00       	mov    $0x8e,%eax
42778e:	eb 0c                	jmp    0x42779c
427790:	b8 85 00 00 00       	mov    $0x85,%eax
427795:	eb 05                	jmp    0x42779c
427797:	b8 8a 00 00 00       	mov    $0x8a,%eax
42779c:	89 46 08             	mov    %eax,0x8(%esi)
42779f:	50                   	push   %eax
4277a0:	6a 08                	push   $0x8
4277a2:	8b cf                	mov    %edi,%ecx
4277a4:	ff 15 5c e2 43 00    	call   *0x43e25c
4277aa:	ff d7                	call   *%edi
4277ac:	59                   	pop    %ecx
4277ad:	59                   	pop    %ecx
4277ae:	89 5e 08             	mov    %ebx,0x8(%esi)
4277b1:	5b                   	pop    %ebx
4277b2:	eb 12                	jmp    0x4277c6
4277b4:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4277b8:	ff 71 04             	push   0x4(%ecx)
4277bb:	8b cf                	mov    %edi,%ecx
4277bd:	ff 15 5c e2 43 00    	call   *0x43e25c
4277c3:	ff d7                	call   *%edi
4277c5:	59                   	pop    %ecx
4277c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4277c9:	89 46 04             	mov    %eax,0x4(%esi)
4277cc:	e9 0d ff ff ff       	jmp    0x4276de
4277d1:	a1 34 6b 45 00       	mov    0x456b34,%eax
4277d6:	c3                   	ret
4277d7:	8b ff                	mov    %edi,%edi
4277d9:	55                   	push   %ebp
4277da:	8b ec                	mov    %esp,%ebp
4277dc:	8b 45 08             	mov    0x8(%ebp),%eax
4277df:	a3 34 6b 45 00       	mov    %eax,0x456b34
4277e4:	5d                   	pop    %ebp
4277e5:	c3                   	ret
4277e6:	8b ff                	mov    %edi,%edi
4277e8:	55                   	push   %ebp
4277e9:	8b ec                	mov    %esp,%ebp
4277eb:	a1 14 50 45 00       	mov    0x455014,%eax
4277f0:	83 e0 1f             	and    $0x1f,%eax
4277f3:	6a 20                	push   $0x20
4277f5:	59                   	pop    %ecx
4277f6:	2b c8                	sub    %eax,%ecx
4277f8:	8b 45 08             	mov    0x8(%ebp),%eax
4277fb:	d3 c8                	ror    %cl,%eax
4277fd:	33 05 14 50 45 00    	xor    0x455014,%eax
427803:	5d                   	pop    %ebp
427804:	c3                   	ret
427805:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
42780b:	8b 15 38 6b 45 00    	mov    0x456b38,%edx
427811:	83 e1 1f             	and    $0x1f,%ecx
427814:	33 15 14 50 45 00    	xor    0x455014,%edx
42781a:	d3 ca                	ror    %cl,%edx
42781c:	85 d2                	test   %edx,%edx
42781e:	0f 95 c0             	setne  %al
427821:	c3                   	ret
427822:	8b ff                	mov    %edi,%edi
427824:	55                   	push   %ebp
427825:	8b ec                	mov    %esp,%ebp
427827:	8b 45 08             	mov    0x8(%ebp),%eax
42782a:	a3 38 6b 45 00       	mov    %eax,0x456b38
42782f:	5d                   	pop    %ebp
427830:	c3                   	ret
427831:	cc                   	int3
427832:	cc                   	int3
427833:	cc                   	int3
427834:	cc                   	int3
427835:	cc                   	int3
427836:	cc                   	int3
427837:	cc                   	int3
427838:	cc                   	int3
427839:	cc                   	int3
42783a:	cc                   	int3
42783b:	cc                   	int3
42783c:	cc                   	int3
42783d:	cc                   	int3
42783e:	cc                   	int3
42783f:	cc                   	int3
427840:	8b ff                	mov    %edi,%edi
427842:	55                   	push   %ebp
427843:	8b ec                	mov    %esp,%ebp
427845:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
42784b:	56                   	push   %esi
42784c:	8b 35 38 6b 45 00    	mov    0x456b38,%esi
427852:	83 e1 1f             	and    $0x1f,%ecx
427855:	33 35 14 50 45 00    	xor    0x455014,%esi
42785b:	d3 ce                	ror    %cl,%esi
42785d:	85 f6                	test   %esi,%esi
42785f:	75 04                	jne    0x427865
427861:	33 c0                	xor    %eax,%eax
427863:	eb 0e                	jmp    0x427873
427865:	ff 75 08             	push   0x8(%ebp)
427868:	8b ce                	mov    %esi,%ecx
42786a:	ff 15 5c e2 43 00    	call   *0x43e25c
427870:	ff d6                	call   *%esi
427872:	59                   	pop    %ecx
427873:	5e                   	pop    %esi
427874:	5d                   	pop    %ebp
427875:	c3                   	ret
427876:	8b ff                	mov    %edi,%edi
427878:	55                   	push   %ebp
427879:	8b ec                	mov    %esp,%ebp
42787b:	ff 75 08             	push   0x8(%ebp)
42787e:	e8 63 ff ff ff       	call   0x4277e6
427883:	59                   	pop    %ecx
427884:	a3 38 6b 45 00       	mov    %eax,0x456b38
427889:	5d                   	pop    %ebp
42788a:	c3                   	ret
42788b:	8b ff                	mov    %edi,%edi
42788d:	55                   	push   %ebp
42788e:	8b ec                	mov    %esp,%ebp
427890:	83 ec 0c             	sub    $0xc,%esp
427893:	57                   	push   %edi
427894:	8b 7d 08             	mov    0x8(%ebp),%edi
427897:	85 ff                	test   %edi,%edi
427899:	75 07                	jne    0x4278a2
42789b:	33 c0                	xor    %eax,%eax
42789d:	e9 1c 01 00 00       	jmp    0x4279be
4278a2:	56                   	push   %esi
4278a3:	83 ff 02             	cmp    $0x2,%edi
4278a6:	74 1b                	je     0x4278c3
4278a8:	83 ff 01             	cmp    $0x1,%edi
4278ab:	74 16                	je     0x4278c3
4278ad:	e8 7e c1 ff ff       	call   0x423a30
4278b2:	6a 16                	push   $0x16
4278b4:	5e                   	pop    %esi
4278b5:	89 30                	mov    %esi,(%eax)
4278b7:	e8 c7 80 ff ff       	call   0x41f983
4278bc:	8b c6                	mov    %esi,%eax
4278be:	e9 fa 00 00 00       	jmp    0x4279bd
4278c3:	53                   	push   %ebx
4278c4:	68 04 01 00 00       	push   $0x104
4278c9:	bb 40 6b 45 00       	mov    $0x456b40,%ebx
4278ce:	33 f6                	xor    %esi,%esi
4278d0:	53                   	push   %ebx
4278d1:	56                   	push   %esi
4278d2:	ff 15 a8 e0 43 00    	call   *0x43e0a8
4278d8:	89 1d 68 6d 45 00    	mov    %ebx,0x456d68
4278de:	8b 1d 7c 6d 45 00    	mov    0x456d7c,%ebx
4278e4:	85 db                	test   %ebx,%ebx
4278e6:	74 05                	je     0x4278ed
4278e8:	66 39 33             	cmp    %si,(%ebx)
4278eb:	75 05                	jne    0x4278f2
4278ed:	bb 40 6b 45 00       	mov    $0x456b40,%ebx
4278f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
4278f5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4278f8:	50                   	push   %eax
4278f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4278fc:	89 75 f4             	mov    %esi,-0xc(%ebp)
4278ff:	50                   	push   %eax
427900:	56                   	push   %esi
427901:	56                   	push   %esi
427902:	53                   	push   %ebx
427903:	e8 b9 00 00 00       	call   0x4279c1
427908:	6a 02                	push   $0x2
42790a:	ff 75 f4             	push   -0xc(%ebp)
42790d:	ff 75 fc             	push   -0x4(%ebp)
427910:	e8 4d 02 00 00       	call   0x427b62
427915:	8b f0                	mov    %eax,%esi
427917:	83 c4 20             	add    $0x20,%esp
42791a:	85 f6                	test   %esi,%esi
42791c:	75 0c                	jne    0x42792a
42791e:	e8 0d c1 ff ff       	call   0x423a30
427923:	6a 0c                	push   $0xc
427925:	5e                   	pop    %esi
427926:	89 30                	mov    %esi,(%eax)
427928:	eb 2f                	jmp    0x427959
42792a:	8d 45 f4             	lea    -0xc(%ebp),%eax
42792d:	50                   	push   %eax
42792e:	8d 45 fc             	lea    -0x4(%ebp),%eax
427931:	50                   	push   %eax
427932:	8b 45 fc             	mov    -0x4(%ebp),%eax
427935:	8d 04 86             	lea    (%esi,%eax,4),%eax
427938:	50                   	push   %eax
427939:	56                   	push   %esi
42793a:	53                   	push   %ebx
42793b:	e8 81 00 00 00       	call   0x4279c1
427940:	83 c4 14             	add    $0x14,%esp
427943:	83 ff 01             	cmp    $0x1,%edi
427946:	75 1c                	jne    0x427964
427948:	8b 45 fc             	mov    -0x4(%ebp),%eax
42794b:	48                   	dec    %eax
42794c:	89 35 74 6d 45 00    	mov    %esi,0x456d74
427952:	a3 6c 6d 45 00       	mov    %eax,0x456d6c
427957:	33 f6                	xor    %esi,%esi
427959:	6a 00                	push   $0x0
42795b:	e8 5a 2f 00 00       	call   0x42a8ba
427960:	8b c6                	mov    %esi,%eax
427962:	eb 57                	jmp    0x4279bb
427964:	8d 45 f8             	lea    -0x8(%ebp),%eax
427967:	33 db                	xor    %ebx,%ebx
427969:	50                   	push   %eax
42796a:	56                   	push   %esi
42796b:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42796e:	e8 97 a9 00 00       	call   0x43230a
427973:	8b f8                	mov    %eax,%edi
427975:	59                   	pop    %ecx
427976:	59                   	pop    %ecx
427977:	85 ff                	test   %edi,%edi
427979:	74 0a                	je     0x427985
42797b:	ff 75 f8             	push   -0x8(%ebp)
42797e:	e8 37 2f 00 00       	call   0x42a8ba
427983:	eb 2a                	jmp    0x4279af
427985:	8b 55 f8             	mov    -0x8(%ebp),%edx