411737:	8b 5e 24             	mov    0x24(%esi),%ebx
41173a:	8b 3a                	mov    (%edx),%edi
41173c:	89 7e 30             	mov    %edi,0x30(%esi)
41173f:	83 fb ff             	cmp    $0xffffffff,%ebx
411742:	75 05                	jne    0x411749
411744:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
411749:	ff 76 28             	push   0x28(%esi)
41174c:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
411750:	50                   	push   %eax
411751:	ff 76 04             	push   0x4(%esi)
411754:	ff 36                	push   (%esi)
411756:	e8 fb c3 ff ff       	call   0x40db56
41175b:	83 c4 10             	add    $0x10,%esp
41175e:	84 c0                	test   %al,%al
411760:	74 19                	je     0x41177b
411762:	85 ff                	test   %edi,%edi
411764:	75 08                	jne    0x41176e
411766:	bf 00 25 43 00       	mov    $0x432500,%edi
41176b:	89 7e 30             	mov    %edi,0x30(%esi)
41176e:	53                   	push   %ebx
41176f:	57                   	push   %edi
411770:	c6 46 38 01          	movb   $0x1,0x38(%esi)
411774:	e8 2d b0 00 00       	call   0x41c7a6
411779:	eb 13                	jmp    0x41178e
41177b:	85 ff                	test   %edi,%edi
41177d:	75 08                	jne    0x411787
41177f:	bf 10 25 43 00       	mov    $0x432510,%edi
411784:	89 7e 30             	mov    %edi,0x30(%esi)
411787:	53                   	push   %ebx
411788:	57                   	push   %edi
411789:	e8 f6 ae 00 00       	call   0x41c684
41178e:	59                   	pop    %ecx
41178f:	59                   	pop    %ecx
411790:	5f                   	pop    %edi
411791:	89 46 34             	mov    %eax,0x34(%esi)
411794:	b0 01                	mov    $0x1,%al
411796:	5e                   	pop    %esi
411797:	5b                   	pop    %ebx
411798:	c3                   	ret
411799:	8b ff                	mov    %edi,%edi
41179b:	53                   	push   %ebx
41179c:	56                   	push   %esi
41179d:	8b f1                	mov    %ecx,%esi
41179f:	57                   	push   %edi
4117a0:	8b 56 10             	mov    0x10(%esi),%edx
4117a3:	8d 42 04             	lea    0x4(%edx),%eax
4117a6:	89 46 10             	mov    %eax,0x10(%esi)
4117a9:	8b 5e 24             	mov    0x24(%esi),%ebx
4117ac:	8b 3a                	mov    (%edx),%edi
4117ae:	89 7e 30             	mov    %edi,0x30(%esi)
4117b1:	83 fb ff             	cmp    $0xffffffff,%ebx
4117b4:	75 05                	jne    0x4117bb
4117b6:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4117bb:	ff 76 28             	push   0x28(%esi)
4117be:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
4117c2:	50                   	push   %eax
4117c3:	ff 76 04             	push   0x4(%esi)
4117c6:	ff 36                	push   (%esi)
4117c8:	e8 ba c3 ff ff       	call   0x40db87
4117cd:	83 c4 10             	add    $0x10,%esp
4117d0:	84 c0                	test   %al,%al
4117d2:	74 1b                	je     0x4117ef
4117d4:	85 ff                	test   %edi,%edi
4117d6:	75 08                	jne    0x4117e0
4117d8:	bf 00 25 43 00       	mov    $0x432500,%edi
4117dd:	89 7e 30             	mov    %edi,0x30(%esi)
4117e0:	53                   	push   %ebx
4117e1:	57                   	push   %edi
4117e2:	c6 46 38 01          	movb   $0x1,0x38(%esi)
4117e6:	e8 bb af 00 00       	call   0x41c7a6
4117eb:	59                   	pop    %ecx
4117ec:	59                   	pop    %ecx
4117ed:	eb 15                	jmp    0x411804
4117ef:	85 ff                	test   %edi,%edi
4117f1:	75 07                	jne    0x4117fa
4117f3:	c7 46 30 10 25 43 00 	movl   $0x432510,0x30(%esi)
4117fa:	6a 00                	push   $0x0
4117fc:	53                   	push   %ebx
4117fd:	8b ce                	mov    %esi,%ecx
4117ff:	e8 09 00 00 00       	call   0x41180d
411804:	5f                   	pop    %edi
411805:	89 46 34             	mov    %eax,0x34(%esi)
411808:	b0 01                	mov    $0x1,%al
41180a:	5e                   	pop    %esi
41180b:	5b                   	pop    %ebx
41180c:	c3                   	ret
41180d:	8b ff                	mov    %edi,%edi
41180f:	55                   	push   %ebp
411810:	8b ec                	mov    %esp,%ebp
411812:	53                   	push   %ebx
411813:	56                   	push   %esi
411814:	8b f1                	mov    %ecx,%esi
411816:	57                   	push   %edi
411817:	8b 5e 08             	mov    0x8(%esi),%ebx
41181a:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
41181e:	75 07                	jne    0x411827
411820:	8b cb                	mov    %ebx,%ecx
411822:	e8 99 00 00 00       	call   0x4118c0
411827:	8b 76 30             	mov    0x30(%esi),%esi
41182a:	33 ff                	xor    %edi,%edi
41182c:	39 7d 08             	cmp    %edi,0x8(%ebp)
41182f:	7e 28                	jle    0x411859
411831:	8a 06                	mov    (%esi),%al
411833:	84 c0                	test   %al,%al
411835:	74 22                	je     0x411859
411837:	0f b6 c0             	movzbl %al,%eax
41183a:	68 00 80 00 00       	push   $0x8000
41183f:	50                   	push   %eax
411840:	8b 43 0c             	mov    0xc(%ebx),%eax
411843:	ff 30                	push   (%eax)
411845:	e8 bb 03 00 00       	call   0x411c05
41184a:	83 c4 0c             	add    $0xc,%esp
41184d:	85 c0                	test   %eax,%eax
41184f:	74 01                	je     0x411852
411851:	46                   	inc    %esi
411852:	46                   	inc    %esi
411853:	47                   	inc    %edi
411854:	3b 7d 08             	cmp    0x8(%ebp),%edi
411857:	7c d8                	jl     0x411831
411859:	8b c7                	mov    %edi,%eax
41185b:	5f                   	pop    %edi
41185c:	5e                   	pop    %esi
41185d:	5b                   	pop    %ebx
41185e:	5d                   	pop    %ebp
41185f:	c2 08 00             	ret    $0x8
411862:	8b ff                	mov    %edi,%edi
411864:	55                   	push   %ebp
411865:	8b ec                	mov    %esp,%ebp
411867:	8b 01                	mov    (%ecx),%eax
411869:	48                   	dec    %eax
41186a:	89 01                	mov    %eax,(%ecx)
41186c:	8a 4d 08             	mov    0x8(%ebp),%cl
41186f:	84 c9                	test   %cl,%cl
411871:	74 14                	je     0x411887
411873:	38 08                	cmp    %cl,(%eax)
411875:	74 10                	je     0x411887
411877:	e8 f5 ad 00 00       	call   0x41c671
41187c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411882:	e8 67 bb ff ff       	call   0x40d3ee
411887:	5d                   	pop    %ebp
411888:	c2 04 00             	ret    $0x4
41188b:	8b ff                	mov    %edi,%edi
41188d:	55                   	push   %ebp
41188e:	8b ec                	mov    %esp,%ebp
411890:	8b 01                	mov    (%ecx),%eax
411892:	83 c0 fe             	add    $0xfffffffe,%eax
411895:	89 01                	mov    %eax,(%ecx)
411897:	66 8b 4d 08          	mov    0x8(%ebp),%cx
41189b:	66 85 c9             	test   %cx,%cx
41189e:	74 15                	je     0x4118b5
4118a0:	66 39 08             	cmp    %cx,(%eax)
4118a3:	74 10                	je     0x4118b5
4118a5:	e8 c7 ad 00 00       	call   0x41c671
4118aa:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4118b0:	e8 39 bb ff ff       	call   0x40d3ee
4118b5:	5d                   	pop    %ebp
4118b6:	c2 04 00             	ret    $0x4
4118b9:	cc                   	int3
4118ba:	cc                   	int3
4118bb:	cc                   	int3
4118bc:	cc                   	int3
4118bd:	cc                   	int3
4118be:	cc                   	int3
4118bf:	cc                   	int3
4118c0:	8b ff                	mov    %edi,%edi
4118c2:	55                   	push   %ebp
4118c3:	8b ec                	mov    %esp,%ebp
4118c5:	51                   	push   %ecx
4118c6:	53                   	push   %ebx
4118c7:	56                   	push   %esi
4118c8:	57                   	push   %edi
4118c9:	8b d9                	mov    %ecx,%ebx
4118cb:	e8 05 b9 ff ff       	call   0x40d1d5
4118d0:	ff 73 04             	push   0x4(%ebx)
4118d3:	8d 73 0c             	lea    0xc(%ebx),%esi
4118d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4118d9:	56                   	push   %esi
4118da:	8b 50 4c             	mov    0x4c(%eax),%edx
4118dd:	8d 7b 10             	lea    0x10(%ebx),%edi
4118e0:	89 16                	mov    %edx,(%esi)
4118e2:	8b 50 48             	mov    0x48(%eax),%edx
4118e5:	50                   	push   %eax
4118e6:	89 17                	mov    %edx,(%edi)
4118e8:	e8 96 b0 00 00       	call   0x41c983
4118ed:	ff 73 04             	push   0x4(%ebx)
4118f0:	8b 75 fc             	mov    -0x4(%ebp),%esi
4118f3:	57                   	push   %edi
4118f4:	56                   	push   %esi
4118f5:	e8 e7 b0 00 00       	call   0x41c9e1
4118fa:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
411900:	83 c4 18             	add    $0x18,%esp
411903:	a8 02                	test   $0x2,%al
411905:	75 0d                	jne    0x411914
411907:	83 c8 02             	or     $0x2,%eax
41190a:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
411910:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
411914:	5f                   	pop    %edi
411915:	5e                   	pop    %esi
411916:	5b                   	pop    %ebx
411917:	8b e5                	mov    %ebp,%esp
411919:	5d                   	pop    %ebp
41191a:	c3                   	ret
41191b:	83 39 00             	cmpl   $0x0,(%ecx)
41191e:	75 13                	jne    0x411933
411920:	e8 4c ad 00 00       	call   0x41c671
411925:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41192b:	e8 be ba ff ff       	call   0x40d3ee
411930:	32 c0                	xor    %al,%al
411932:	c3                   	ret
411933:	b0 01                	mov    $0x1,%al
411935:	c3                   	ret
411936:	8b ff                	mov    %edi,%edi
411938:	55                   	push   %ebp
411939:	8b ec                	mov    %esp,%ebp
41193b:	8b 01                	mov    (%ecx),%eax
41193d:	85 c0                	test   %eax,%eax
41193f:	75 22                	jne    0x411963
411941:	8b 45 08             	mov    0x8(%ebp),%eax
411944:	50                   	push   %eax
411945:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
411949:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
411950:	33 c0                	xor    %eax,%eax
411952:	50                   	push   %eax
411953:	50                   	push   %eax
411954:	50                   	push   %eax
411955:	50                   	push   %eax
411956:	50                   	push   %eax
411957:	e8 15 ba ff ff       	call   0x40d371
41195c:	83 c4 18             	add    $0x18,%esp
41195f:	32 c0                	xor    %al,%al
411961:	eb 07                	jmp    0x41196a
411963:	50                   	push   %eax
411964:	e8 36 00 00 00       	call   0x41199f
411969:	59                   	pop    %ecx
41196a:	5d                   	pop    %ebp
41196b:	c2 04 00             	ret    $0x4
41196e:	8b ff                	mov    %edi,%edi
411970:	55                   	push   %ebp
411971:	8b ec                	mov    %esp,%ebp
411973:	33 d2                	xor    %edx,%edx
411975:	39 11                	cmp    %edx,(%ecx)
411977:	75 20                	jne    0x411999
411979:	8b 45 08             	mov    0x8(%ebp),%eax
41197c:	50                   	push   %eax
41197d:	52                   	push   %edx
41197e:	52                   	push   %edx
41197f:	52                   	push   %edx
411980:	52                   	push   %edx
411981:	52                   	push   %edx
411982:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
411986:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
41198d:	e8 df b9 ff ff       	call   0x40d371
411992:	83 c4 18             	add    $0x18,%esp
411995:	32 c0                	xor    %al,%al
411997:	eb 02                	jmp    0x41199b
411999:	b0 01                	mov    $0x1,%al
41199b:	5d                   	pop    %ebp
41199c:	c2 04 00             	ret    $0x4
41199f:	8b ff                	mov    %edi,%edi
4119a1:	55                   	push   %ebp
4119a2:	8b ec                	mov    %esp,%ebp
4119a4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4119a7:	56                   	push   %esi
4119a8:	8b 41 0c             	mov    0xc(%ecx),%eax
4119ab:	90                   	nop
4119ac:	c1 e8 0c             	shr    $0xc,%eax
4119af:	a8 01                	test   $0x1,%al
4119b1:	75 6e                	jne    0x411a21
4119b3:	57                   	push   %edi
4119b4:	51                   	push   %ecx
4119b5:	e8 86 be 00 00       	call   0x41d840
4119ba:	59                   	pop    %ecx
4119bb:	b9 d0 d2 43 00       	mov    $0x43d2d0,%ecx
4119c0:	83 f8 ff             	cmp    $0xffffffff,%eax
4119c3:	74 1b                	je     0x4119e0
4119c5:	83 f8 fe             	cmp    $0xfffffffe,%eax
4119c8:	74 16                	je     0x4119e0
4119ca:	8b f0                	mov    %eax,%esi
4119cc:	8b d0                	mov    %eax,%edx
4119ce:	83 e6 3f             	and    $0x3f,%esi
4119d1:	c1 fa 06             	sar    $0x6,%edx
4119d4:	6b fe 38             	imul   $0x38,%esi,%edi
4119d7:	03 3c 95 00 f8 43 00 	add    0x43f800(,%edx,4),%edi
4119de:	eb 0c                	jmp    0x4119ec
4119e0:	8b d0                	mov    %eax,%edx
4119e2:	8b f0                	mov    %eax,%esi
4119e4:	c1 fa 06             	sar    $0x6,%edx
4119e7:	8b f9                	mov    %ecx,%edi
4119e9:	83 e6 3f             	and    $0x3f,%esi
4119ec:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
4119f0:	5f                   	pop    %edi
4119f1:	75 1a                	jne    0x411a0d
4119f3:	83 f8 ff             	cmp    $0xffffffff,%eax
4119f6:	74 0f                	je     0x411a07
4119f8:	83 f8 fe             	cmp    $0xfffffffe,%eax
4119fb:	74 0a                	je     0x411a07
4119fd:	6b ce 38             	imul   $0x38,%esi,%ecx
411a00:	03 0c 95 00 f8 43 00 	add    0x43f800(,%edx,4),%ecx
411a07:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
411a0b:	74 14                	je     0x411a21
411a0d:	e8 5f ac 00 00       	call   0x41c671
411a12:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411a18:	e8 d1 b9 ff ff       	call   0x40d3ee
411a1d:	32 c0                	xor    %al,%al
411a1f:	eb 02                	jmp    0x411a23
411a21:	b0 01                	mov    $0x1,%al
411a23:	5e                   	pop    %esi
411a24:	5d                   	pop    %ebp
411a25:	c3                   	ret
411a26:	8b ff                	mov    %edi,%edi
411a28:	55                   	push   %ebp
411a29:	8b ec                	mov    %esp,%ebp
411a2b:	ff 75 10             	push   0x10(%ebp)
411a2e:	ff 75 08             	push   0x8(%ebp)
411a31:	e8 12 00 00 00       	call   0x411a48
411a36:	84 c0                	test   %al,%al
411a38:	8b 45 0c             	mov    0xc(%ebp),%eax
411a3b:	74 04                	je     0x411a41
411a3d:	ff 00                	incl   (%eax)
411a3f:	eb 03                	jmp    0x411a44
411a41:	83 08 ff             	orl    $0xffffffff,(%eax)
411a44:	5d                   	pop    %ebp
411a45:	c2 0c 00             	ret    $0xc
411a48:	8b ff                	mov    %edi,%edi
411a4a:	55                   	push   %ebp
411a4b:	8b ec                	mov    %esp,%ebp
411a4d:	8b 01                	mov    (%ecx),%eax
411a4f:	8b 40 0c             	mov    0xc(%eax),%eax
411a52:	90                   	nop
411a53:	c1 e8 0c             	shr    $0xc,%eax
411a56:	a8 01                	test   $0x1,%al
411a58:	74 0c                	je     0x411a66
411a5a:	8b 01                	mov    (%ecx),%eax
411a5c:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
411a60:	75 04                	jne    0x411a66
411a62:	b0 01                	mov    $0x1,%al
411a64:	eb 18                	jmp    0x411a7e
411a66:	ff 75 0c             	push   0xc(%ebp)
411a69:	0f be 45 08          	movsbl 0x8(%ebp),%eax
411a6d:	ff 31                	push   (%ecx)
411a6f:	50                   	push   %eax
411a70:	e8 cd c0 00 00       	call   0x41db42
411a75:	83 c4 0c             	add    $0xc,%esp
411a78:	83 f8 ff             	cmp    $0xffffffff,%eax
411a7b:	0f 95 c0             	setne  %al
411a7e:	5d                   	pop    %ebp
411a7f:	c2 08 00             	ret    $0x8
411a82:	8b ff                	mov    %edi,%edi
411a84:	55                   	push   %ebp
411a85:	8b ec                	mov    %esp,%ebp