4235f0:	83 cf ff             	or     $0xffffffff,%edi
4235f3:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4235f6:	33 c0                	xor    %eax,%eax
4235f8:	8b 75 08             	mov    0x8(%ebp),%esi
4235fb:	85 f6                	test   %esi,%esi
4235fd:	0f 95 c0             	setne  %al
423600:	85 c0                	test   %eax,%eax
423602:	75 18                	jne    0x42361c
423604:	e8 05 46 00 00       	call   0x427c0e
423609:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42360f:	e8 fc 37 00 00       	call   0x426e10
423614:	8b c7                	mov    %edi,%eax
423616:	e8 ea 34 00 00       	call   0x426b05
42361b:	c3                   	ret
42361c:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
423620:	74 06                	je     0x423628
423622:	83 66 0c 00          	andl   $0x0,0xc(%esi)
423626:	eb ec                	jmp    0x423614
423628:	56                   	push   %esi
423629:	e8 ee 17 00 00       	call   0x424e1c
42362e:	59                   	pop    %ecx
42362f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423633:	56                   	push   %esi
423634:	e8 3f ff ff ff       	call   0x423578
423639:	59                   	pop    %ecx
42363a:	8b f8                	mov    %eax,%edi
42363c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42363f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423646:	e8 08 00 00 00       	call   0x423653
42364b:	eb c7                	jmp    0x423614
42364d:	8b 75 08             	mov    0x8(%ebp),%esi
423650:	8b 7d e4             	mov    -0x1c(%ebp),%edi
423653:	56                   	push   %esi
423654:	e8 32 18 00 00       	call   0x424e8b
423659:	59                   	pop    %ecx
42365a:	c3                   	ret
42365b:	55                   	push   %ebp
42365c:	8b ec                	mov    %esp,%ebp
42365e:	83 ec 10             	sub    $0x10,%esp
423661:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
423665:	8b 4d 08             	mov    0x8(%ebp),%ecx
423668:	8b 45 0c             	mov    0xc(%ebp),%eax
42366b:	53                   	push   %ebx
42366c:	56                   	push   %esi
42366d:	57                   	push   %edi
42366e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
423671:	89 45 f8             	mov    %eax,-0x8(%ebp)
423674:	74 1b                	je     0x423691
423676:	8b 5d 14             	mov    0x14(%ebp),%ebx
423679:	85 db                	test   %ebx,%ebx
42367b:	74 14                	je     0x423691
42367d:	85 c9                	test   %ecx,%ecx
42367f:	75 17                	jne    0x423698
423681:	e8 88 45 00 00       	call   0x427c0e
423686:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42368c:	e8 7f 37 00 00       	call   0x426e10
423691:	33 c0                	xor    %eax,%eax
423693:	5f                   	pop    %edi
423694:	5e                   	pop    %esi
423695:	5b                   	pop    %ebx
423696:	c9                   	leave
423697:	c3                   	ret
423698:	8b 75 18             	mov    0x18(%ebp),%esi
42369b:	85 f6                	test   %esi,%esi
42369d:	74 0c                	je     0x4236ab
42369f:	83 c8 ff             	or     $0xffffffff,%eax
4236a2:	33 d2                	xor    %edx,%edx
4236a4:	f7 75 10             	divl   0x10(%ebp)
4236a7:	3b d8                	cmp    %eax,%ebx
4236a9:	76 24                	jbe    0x4236cf
4236ab:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
4236af:	74 0e                	je     0x4236bf
4236b1:	ff 75 0c             	push   0xc(%ebp)
4236b4:	6a 00                	push   $0x0
4236b6:	51                   	push   %ecx
4236b7:	e8 94 d6 ff ff       	call   0x420d50
4236bc:	83 c4 0c             	add    $0xc,%esp
4236bf:	85 f6                	test   %esi,%esi
4236c1:	74 be                	je     0x423681
4236c3:	83 c8 ff             	or     $0xffffffff,%eax
4236c6:	33 d2                	xor    %edx,%edx
4236c8:	f7 75 10             	divl   0x10(%ebp)
4236cb:	3b d8                	cmp    %eax,%ebx
4236cd:	77 b2                	ja     0x423681
4236cf:	8b 7d 10             	mov    0x10(%ebp),%edi
4236d2:	0f af fb             	imul   %ebx,%edi
4236d5:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4236dc:	8b df                	mov    %edi,%ebx
4236de:	74 05                	je     0x4236e5
4236e0:	8b 4e 18             	mov    0x18(%esi),%ecx
4236e3:	eb 05                	jmp    0x4236ea
4236e5:	b9 00 10 00 00       	mov    $0x1000,%ecx
4236ea:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4236ed:	85 ff                	test   %edi,%edi
4236ef:	0f 84 e3 00 00 00    	je     0x4237d8
4236f5:	f7 46 0c 0c 01 00 00 	testl  $0x10c,0xc(%esi)
4236fc:	74 3f                	je     0x42373d
4236fe:	8b 46 04             	mov    0x4(%esi),%eax
423701:	89 45 f0             	mov    %eax,-0x10(%ebp)
423704:	85 c0                	test   %eax,%eax
423706:	74 35                	je     0x42373d
423708:	0f 88 f8 00 00 00    	js     0x423806
42370e:	3b d8                	cmp    %eax,%ebx
423710:	73 05                	jae    0x423717
423712:	8b c3                	mov    %ebx,%eax
423714:	89 5d f0             	mov    %ebx,-0x10(%ebp)
423717:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42371a:	3b c1                	cmp    %ecx,%eax
42371c:	0f 87 be 00 00 00    	ja     0x4237e0
423722:	50                   	push   %eax
423723:	ff 36                	push   (%esi)
423725:	51                   	push   %ecx
423726:	ff 75 fc             	push   -0x4(%ebp)
423729:	e8 59 b5 00 00       	call   0x42ec87
42372e:	8b 45 f0             	mov    -0x10(%ebp),%eax
423731:	29 46 04             	sub    %eax,0x4(%esi)
423734:	83 c4 10             	add    $0x10,%esp
423737:	2b d8                	sub    %eax,%ebx
423739:	01 06                	add    %eax,(%esi)
42373b:	eb 61                	jmp    0x42379e
42373d:	3b d9                	cmp    %ecx,%ebx
42373f:	72 68                	jb     0x4237a9
423741:	85 c9                	test   %ecx,%ecx
423743:	74 22                	je     0x423767
423745:	33 d2                	xor    %edx,%edx
423747:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
42374d:	76 0e                	jbe    0x42375d
42374f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
423754:	f7 f1                	div    %ecx
423756:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42375b:	eb 06                	jmp    0x423763
42375d:	8b c3                	mov    %ebx,%eax
42375f:	f7 f1                	div    %ecx
423761:	8b c3                	mov    %ebx,%eax
423763:	2b c2                	sub    %edx,%eax
423765:	eb 0f                	jmp    0x423776
423767:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42376c:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
423772:	77 02                	ja     0x423776
423774:	8b c3                	mov    %ebx,%eax
423776:	3b 45 f8             	cmp    -0x8(%ebp),%eax
423779:	77 65                	ja     0x4237e0
42377b:	50                   	push   %eax
42377c:	ff 75 fc             	push   -0x4(%ebp)
42377f:	56                   	push   %esi
423780:	e8 ae f1 ff ff       	call   0x422933
423785:	59                   	pop    %ecx
423786:	50                   	push   %eax
423787:	e8 82 b6 00 00       	call   0x42ee0e
42378c:	83 c4 0c             	add    $0xc,%esp
42378f:	85 c0                	test   %eax,%eax
423791:	0f 84 81 00 00 00    	je     0x423818
423797:	83 f8 ff             	cmp    $0xffffffff,%eax
42379a:	74 6a                	je     0x423806
42379c:	2b d8                	sub    %eax,%ebx
42379e:	01 45 fc             	add    %eax,-0x4(%ebp)
4237a1:	29 45 f8             	sub    %eax,-0x8(%ebp)
4237a4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4237a7:	eb 27                	jmp    0x4237d0
4237a9:	56                   	push   %esi
4237aa:	e8 b7 b3 00 00       	call   0x42eb66
4237af:	59                   	pop    %ecx
4237b0:	83 f8 ff             	cmp    $0xffffffff,%eax
4237b3:	74 55                	je     0x42380a
4237b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4237b8:	85 c9                	test   %ecx,%ecx
4237ba:	74 24                	je     0x4237e0
4237bc:	8b 55 fc             	mov    -0x4(%ebp),%edx
4237bf:	88 02                	mov    %al,(%edx)
4237c1:	42                   	inc    %edx
4237c2:	4b                   	dec    %ebx
4237c3:	49                   	dec    %ecx
4237c4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4237c7:	8b 4e 18             	mov    0x18(%esi),%ecx
4237ca:	89 55 fc             	mov    %edx,-0x4(%ebp)
4237cd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4237d0:	85 db                	test   %ebx,%ebx
4237d2:	0f 85 1d ff ff ff    	jne    0x4236f5
4237d8:	8b 45 14             	mov    0x14(%ebp),%eax
4237db:	e9 b3 fe ff ff       	jmp    0x423693
4237e0:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
4237e4:	74 10                	je     0x4237f6
4237e6:	ff 75 0c             	push   0xc(%ebp)
4237e9:	6a 00                	push   $0x0
4237eb:	ff 75 08             	push   0x8(%ebp)
4237ee:	e8 5d d5 ff ff       	call   0x420d50
4237f3:	83 c4 0c             	add    $0xc,%esp
4237f6:	e8 13 44 00 00       	call   0x427c0e
4237fb:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
423801:	e9 86 fe ff ff       	jmp    0x42368c
423806:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
42380a:	2b fb                	sub    %ebx,%edi
42380c:	8b c7                	mov    %edi,%eax
42380e:	33 d2                	xor    %edx,%edx
423810:	f7 75 10             	divl   0x10(%ebp)
423813:	e9 7b fe ff ff       	jmp    0x423693
423818:	83 4e 0c 10          	orl    $0x10,0xc(%esi)
42381c:	eb ec                	jmp    0x42380a
42381e:	55                   	push   %ebp
42381f:	8b ec                	mov    %esp,%ebp
423821:	ff 75 14             	push   0x14(%ebp)
423824:	ff 75 10             	push   0x10(%ebp)
423827:	ff 75 0c             	push   0xc(%ebp)
42382a:	6a ff                	push   $0xffffffff
42382c:	ff 75 08             	push   0x8(%ebp)
42382f:	e8 05 00 00 00       	call   0x423839
423834:	83 c4 14             	add    $0x14,%esp
423837:	5d                   	pop    %ebp
423838:	c3                   	ret
423839:	6a 0c                	push   $0xc
42383b:	68 f0 6b 4b 00       	push   $0x4b6bf0
423840:	e8 7b 32 00 00       	call   0x426ac0
423845:	33 ff                	xor    %edi,%edi
423847:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42384a:	39 7d 10             	cmp    %edi,0x10(%ebp)
42384d:	74 31                	je     0x423880
42384f:	39 7d 14             	cmp    %edi,0x14(%ebp)
423852:	74 2c                	je     0x423880
423854:	8b 75 18             	mov    0x18(%ebp),%esi
423857:	85 f6                	test   %esi,%esi
423859:	75 2d                	jne    0x423888
42385b:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
42385f:	74 0f                	je     0x423870
423861:	ff 75 0c             	push   0xc(%ebp)
423864:	57                   	push   %edi
423865:	ff 75 08             	push   0x8(%ebp)
423868:	e8 e3 d4 ff ff       	call   0x420d50
42386d:	83 c4 0c             	add    $0xc,%esp
423870:	e8 99 43 00 00       	call   0x427c0e
423875:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42387b:	e8 90 35 00 00       	call   0x426e10
423880:	33 c0                	xor    %eax,%eax
423882:	e8 7e 32 00 00       	call   0x426b05
423887:	c3                   	ret
423888:	56                   	push   %esi
423889:	e8 8e 15 00 00       	call   0x424e1c
42388e:	59                   	pop    %ecx
42388f:	89 7d fc             	mov    %edi,-0x4(%ebp)
423892:	56                   	push   %esi
423893:	ff 75 14             	push   0x14(%ebp)
423896:	ff 75 10             	push   0x10(%ebp)
423899:	ff 75 0c             	push   0xc(%ebp)
42389c:	ff 75 08             	push   0x8(%ebp)
42389f:	e8 b7 fd ff ff       	call   0x42365b
4238a4:	83 c4 14             	add    $0x14,%esp
4238a7:	8b f8                	mov    %eax,%edi
4238a9:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4238ac:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4238b3:	e8 0a 00 00 00       	call   0x4238c2
4238b8:	8b c7                	mov    %edi,%eax
4238ba:	eb c6                	jmp    0x423882
4238bc:	8b 75 18             	mov    0x18(%ebp),%esi
4238bf:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4238c2:	56                   	push   %esi
4238c3:	e8 c3 15 00 00       	call   0x424e8b
4238c8:	59                   	pop    %ecx
4238c9:	c3                   	ret
4238ca:	cc                   	int3
4238cb:	cc                   	int3
4238cc:	cc                   	int3
4238cd:	cc                   	int3
4238ce:	cc                   	int3
4238cf:	cc                   	int3
4238d0:	8b 54 24 04          	mov    0x4(%esp),%edx
4238d4:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4238d8:	f7 c2 03 00 00 00    	test   $0x3,%edx
4238de:	75 40                	jne    0x423920
4238e0:	8b 02                	mov    (%edx),%eax
4238e2:	3a 01                	cmp    (%ecx),%al
4238e4:	75 32                	jne    0x423918
4238e6:	84 c0                	test   %al,%al
4238e8:	74 26                	je     0x423910
4238ea:	3a 61 01             	cmp    0x1(%ecx),%ah
4238ed:	75 29                	jne    0x423918
4238ef:	84 e4                	test   %ah,%ah
4238f1:	74 1d                	je     0x423910
4238f3:	c1 e8 10             	shr    $0x10,%eax
4238f6:	3a 41 02             	cmp    0x2(%ecx),%al
4238f9:	75 1d                	jne    0x423918
4238fb:	84 c0                	test   %al,%al
4238fd:	74 11                	je     0x423910
4238ff:	3a 61 03             	cmp    0x3(%ecx),%ah
423902:	75 14                	jne    0x423918
423904:	83 c1 04             	add    $0x4,%ecx
423907:	83 c2 04             	add    $0x4,%edx
42390a:	84 e4                	test   %ah,%ah
42390c:	75 d2                	jne    0x4238e0
42390e:	8b ff                	mov    %edi,%edi
423910:	33 c0                	xor    %eax,%eax
423912:	c3                   	ret
423913:	eb 03                	jmp    0x423918
423915:	cc                   	int3
423916:	cc                   	int3
423917:	cc                   	int3
423918:	1b c0                	sbb    %eax,%eax
42391a:	83 c8 01             	or     $0x1,%eax
42391d:	c3                   	ret
42391e:	8b ff                	mov    %edi,%edi
423920:	f7 c2 01 00 00 00    	test   $0x1,%edx
423926:	74 18                	je     0x423940
423928:	8a 02                	mov    (%edx),%al
42392a:	83 c2 01             	add    $0x1,%edx
42392d:	3a 01                	cmp    (%ecx),%al
42392f:	75 e7                	jne    0x423918
423931:	83 c1 01             	add    $0x1,%ecx
423934:	84 c0                	test   %al,%al
423936:	74 d8                	je     0x423910
423938:	f7 c2 02 00 00 00    	test   $0x2,%edx
42393e:	74 a0                	je     0x4238e0
423940:	66 8b 02             	mov    (%edx),%ax
423943:	83 c2 02             	add    $0x2,%edx
423946:	3a 01                	cmp    (%ecx),%al
423948:	75 ce                	jne    0x423918
42394a:	84 c0                	test   %al,%al
42394c:	74 c2                	je     0x423910
42394e:	3a 61 01             	cmp    0x1(%ecx),%ah
423951:	75 c5                	jne    0x423918
423953:	84 e4                	test   %ah,%ah
423955:	74 b9                	je     0x423910
423957:	83 c1 02             	add    $0x2,%ecx
42395a:	eb 84                	jmp    0x4238e0
42395c:	55                   	push   %ebp
42395d:	8b ec                	mov    %esp,%ebp
42395f:	56                   	push   %esi
423960:	8b 75 08             	mov    0x8(%ebp),%esi
423963:	83 fe e0             	cmp    $0xffffffe0,%esi
423966:	77 6f                	ja     0x4239d7
423968:	53                   	push   %ebx
423969:	57                   	push   %edi
42396a:	a1 34 09 4c 00       	mov    0x4c0934,%eax
42396f:	85 c0                	test   %eax,%eax
423971:	75 1d                	jne    0x423990
423973:	e8 4a 48 00 00       	call   0x4281c2
423978:	6a 1e                	push   $0x1e
42397a:	e8 a0 48 00 00       	call   0x42821f
42397f:	68 ff 00 00 00       	push   $0xff
423984:	e8 bc d7 ff ff       	call   0x421145
423989:	a1 34 09 4c 00       	mov    0x4c0934,%eax
42398e:	59                   	pop    %ecx
42398f:	59                   	pop    %ecx
423990:	85 f6                	test   %esi,%esi
423992:	74 04                	je     0x423998
423994:	8b ce                	mov    %esi,%ecx
423996:	eb 03                	jmp    0x42399b
423998:	33 c9                	xor    %ecx,%ecx
42399a:	41                   	inc    %ecx
42399b:	51                   	push   %ecx
42399c:	6a 00                	push   $0x0
42399e:	50                   	push   %eax
42399f:	ff 15 64 d1 48 00    	call   *0x48d164