4cd73a:	e8 51 0f fe ff       	call   0x4ae690
4cd73f:	83 c4 08             	add    $0x8,%esp
4cd742:	85 c0                	test   %eax,%eax
4cd744:	74 49                	je     0x4cd78f
4cd746:	85 ff                	test   %edi,%edi
4cd748:	7f 9c                	jg     0x4cd6e6
4cd74a:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
4cd74f:	0f 84 15 01 00 00    	je     0x4cd86a
4cd755:	68 aa 02 00 00       	push   $0x2aa
4cd75a:	68 40 d4 6a 00       	push   $0x6ad440
4cd75f:	68 89 00 00 00       	push   $0x89
4cd764:	e9 ce 00 00 00       	jmp    0x4cd837
4cd769:	83 c6 02             	add    $0x2,%esi
4cd76c:	80 7c 24 1c 00       	cmpb   $0x0,0x1c(%esp)
4cd771:	89 74 24 10          	mov    %esi,0x10(%esp)
4cd775:	0f 85 f3 00 00 00    	jne    0x4cd86e
4cd77b:	68 94 02 00 00       	push   $0x294
4cd780:	68 40 d4 6a 00       	push   $0x6ad440
4cd785:	68 9f 00 00 00       	push   $0x9f
4cd78a:	e9 a8 00 00 00       	jmp    0x4cd837
4cd78f:	8b 43 10             	mov    0x10(%ebx),%eax
4cd792:	ff d0                	call   *%eax
4cd794:	50                   	push   %eax
4cd795:	8d 44 24 18          	lea    0x18(%esp),%eax
4cd799:	50                   	push   %eax
4cd79a:	e8 d1 46 fe ff       	call   0x4b1e70
4cd79f:	68 a5 02 00 00       	push   $0x2a5
4cd7a4:	68 40 d4 6a 00       	push   $0x6ad440
4cd7a9:	6a 41                	push   $0x41
4cd7ab:	68 83 00 00 00       	push   $0x83
4cd7b0:	6a 0d                	push   $0xd
4cd7b2:	e8 e9 3c fd ff       	call   0x4a14a0
4cd7b7:	83 c4 1c             	add    $0x1c,%esp
4cd7ba:	53                   	push   %ebx
4cd7bb:	55                   	push   %ebp
4cd7bc:	e8 cf 47 fe ff       	call   0x4b1f90
4cd7c1:	83 c4 08             	add    $0x8,%esp
4cd7c4:	33 c0                	xor    %eax,%eax
4cd7c6:	5f                   	pop    %edi
4cd7c7:	5e                   	pop    %esi
4cd7c8:	5b                   	pop    %ebx
4cd7c9:	5d                   	pop    %ebp
4cd7ca:	83 c4 08             	add    $0x8,%esp
4cd7cd:	c3                   	ret
4cd7ce:	68 9f 02 00 00       	push   $0x29f
4cd7d3:	eb 5b                	jmp    0x4cd830
4cd7d5:	8b 43 10             	mov    0x10(%ebx),%eax
4cd7d8:	ff 74 24 30          	push   0x30(%esp)
4cd7dc:	ff 74 24 30          	push   0x30(%esp)
4cd7e0:	f6 c1 08             	test   $0x8,%cl
4cd7e3:	74 24                	je     0x4cd809
4cd7e5:	52                   	push   %edx
4cd7e6:	ff 73 04             	push   0x4(%ebx)
4cd7e9:	ff d0                	call   *%eax
4cd7eb:	50                   	push   %eax
4cd7ec:	ff 74 24 38          	push   0x38(%esp)
4cd7f0:	8d 44 24 28          	lea    0x28(%esp),%eax
4cd7f4:	50                   	push   %eax
4cd7f5:	55                   	push   %ebp
4cd7f6:	e8 c5 e8 ff ff       	call   0x4cc0c0
4cd7fb:	83 c4 20             	add    $0x20,%esp
4cd7fe:	85 c0                	test   %eax,%eax
4cd800:	75 58                	jne    0x4cd85a
4cd802:	68 b3 02 00 00       	push   $0x2b3
4cd807:	eb 27                	jmp    0x4cd830
4cd809:	81 e1 00 04 00 00    	and    $0x400,%ecx
4cd80f:	51                   	push   %ecx
4cd810:	6a ff                	push   $0xffffffff
4cd812:	ff d0                	call   *%eax
4cd814:	50                   	push   %eax
4cd815:	ff 74 24 38          	push   0x38(%esp)
4cd819:	8d 44 24 28          	lea    0x28(%esp),%eax
4cd81d:	50                   	push   %eax
4cd81e:	55                   	push   %ebp
4cd81f:	e8 9c e8 ff ff       	call   0x4cc0c0
4cd824:	83 c4 20             	add    $0x20,%esp
4cd827:	85 c0                	test   %eax,%eax
4cd829:	75 2f                	jne    0x4cd85a
4cd82b:	68 bc 02 00 00       	push   $0x2bc
4cd830:	68 40 d4 6a 00       	push   $0x6ad440
4cd835:	6a 3a                	push   $0x3a
4cd837:	68 83 00 00 00       	push   $0x83
4cd83c:	6a 0d                	push   $0xd
4cd83e:	e8 5d 3c fd ff       	call   0x4a14a0
4cd843:	83 c4 14             	add    $0x14,%esp
4cd846:	53                   	push   %ebx
4cd847:	55                   	push   %ebp
4cd848:	e8 43 47 fe ff       	call   0x4b1f90
4cd84d:	83 c4 08             	add    $0x8,%esp
4cd850:	33 c0                	xor    %eax,%eax
4cd852:	5f                   	pop    %edi
4cd853:	5e                   	pop    %esi
4cd854:	5b                   	pop    %ebx
4cd855:	5d                   	pop    %ebp
4cd856:	83 c4 08             	add    $0x8,%esp
4cd859:	c3                   	ret
4cd85a:	83 f8 ff             	cmp    $0xffffffff,%eax
4cd85d:	75 0b                	jne    0x4cd86a
4cd85f:	5f                   	pop    %edi
4cd860:	5e                   	pop    %esi
4cd861:	5b                   	pop    %ebx
4cd862:	83 c8 ff             	or     $0xffffffff,%eax
4cd865:	5d                   	pop    %ebp
4cd866:	83 c4 08             	add    $0x8,%esp
4cd869:	c3                   	ret
4cd86a:	8b 74 24 10          	mov    0x10(%esp),%esi
4cd86e:	8b 44 24 20          	mov    0x20(%esp),%eax
4cd872:	5f                   	pop    %edi
4cd873:	89 30                	mov    %esi,(%eax)
4cd875:	b8 01 00 00 00       	mov    $0x1,%eax
4cd87a:	5e                   	pop    %esi
4cd87b:	5b                   	pop    %ebx
4cd87c:	5d                   	pop    %ebp
4cd87d:	83 c4 08             	add    $0x8,%esp
4cd880:	c3                   	ret
4cd881:	cc                   	int3
4cd882:	cc                   	int3
4cd883:	cc                   	int3
4cd884:	cc                   	int3
4cd885:	cc                   	int3
4cd886:	cc                   	int3
4cd887:	cc                   	int3
4cd888:	cc                   	int3
4cd889:	cc                   	int3
4cd88a:	cc                   	int3
4cd88b:	cc                   	int3
4cd88c:	cc                   	int3
4cd88d:	cc                   	int3
4cd88e:	cc                   	int3
4cd88f:	cc                   	int3
4cd890:	b8 18 00 00 00       	mov    $0x18,%eax
4cd895:	e8 56 3c 11 00       	call   0x5e14f0
4cd89a:	55                   	push   %ebp
4cd89b:	56                   	push   %esi
4cd89c:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4cd8a0:	33 ed                	xor    %ebp,%ebp
4cd8a2:	57                   	push   %edi
4cd8a3:	8b 7c 24 28          	mov    0x28(%esp),%edi
4cd8a7:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
4cd8ae:	00
4cd8af:	8a 16                	mov    (%esi),%dl
4cd8b1:	8b 4e 10             	mov    0x10(%esi),%ecx
4cd8b4:	84 d2                	test   %dl,%dl
4cd8b6:	74 0d                	je     0x4cd8c5
4cd8b8:	39 2f                	cmp    %ebp,(%edi)
4cd8ba:	75 09                	jne    0x4cd8c5
4cd8bc:	5f                   	pop    %edi
4cd8bd:	5e                   	pop    %esi
4cd8be:	33 c0                	xor    %eax,%eax
4cd8c0:	5d                   	pop    %ebp
4cd8c1:	83 c4 18             	add    $0x18,%esp
4cd8c4:	c3                   	ret
4cd8c5:	85 c9                	test   %ecx,%ecx
4cd8c7:	74 08                	je     0x4cd8d1
4cd8c9:	8b 41 10             	mov    0x10(%ecx),%eax
4cd8cc:	85 c0                	test   %eax,%eax
4cd8ce:	0f 45 e8             	cmovne %eax,%ebp
4cd8d1:	0f be c2             	movsbl %dl,%eax
4cd8d4:	53                   	push   %ebx
4cd8d5:	83 f8 06             	cmp    $0x6,%eax
4cd8d8:	0f 87 b1 00 00 00    	ja     0x4cd98f
4cd8de:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
4cd8e2:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4cd8e6:	ff 24 85 e0 db 4c 00 	jmp    *0x4cdbe0(,%eax,4)
4cd8ed:	ff 74 24 3c          	push   0x3c(%esp)
4cd8f1:	8b 46 08             	mov    0x8(%esi),%eax
4cd8f4:	ff 74 24 3c          	push   0x3c(%esp)
4cd8f8:	85 c0                	test   %eax,%eax
4cd8fa:	74 1c                	je     0x4cd918
4cd8fc:	50                   	push   %eax
4cd8fd:	ff 74 24 3c          	push   0x3c(%esp)
4cd901:	57                   	push   %edi
4cd902:	e8 09 08 00 00       	call   0x4ce110
4cd907:	83 c4 14             	add    $0x14,%esp
4cd90a:	5b                   	pop    %ebx
4cd90b:	5f                   	pop    %edi
4cd90c:	5e                   	pop    %esi
4cd90d:	5d                   	pop    %ebp
4cd90e:	83 c4 18             	add    $0x18,%esp
4cd911:	c3                   	ret
4cd912:	ff 74 24 3c          	push   0x3c(%esp)
4cd916:	6a ff                	push   $0xffffffff
4cd918:	56                   	push   %esi
4cd919:	ff 74 24 3c          	push   0x3c(%esp)
4cd91d:	57                   	push   %edi
4cd91e:	e8 6d 04 00 00       	call   0x4cdd90
4cd923:	83 c4 14             	add    $0x14,%esp
4cd926:	5b                   	pop    %ebx
4cd927:	5f                   	pop    %edi
4cd928:	5e                   	pop    %esi
4cd929:	5d                   	pop    %ebp
4cd92a:	83 c4 18             	add    $0x18,%esp
4cd92d:	c3                   	ret
4cd92e:	85 ed                	test   %ebp,%ebp
4cd930:	74 0f                	je     0x4cd941
4cd932:	6a 00                	push   $0x0
4cd934:	56                   	push   %esi
4cd935:	57                   	push   %edi
4cd936:	6a 06                	push   $0x6
4cd938:	ff d5                	call   *%ebp
4cd93a:	83 c4 10             	add    $0x10,%esp
4cd93d:	85 c0                	test   %eax,%eax
4cd93f:	74 4e                	je     0x4cd98f
4cd941:	56                   	push   %esi
4cd942:	57                   	push   %edi
4cd943:	e8 a8 ce ff ff       	call   0x4ca7f0
4cd948:	83 c4 08             	add    $0x8,%esp
4cd94b:	85 c0                	test   %eax,%eax
4cd94d:	78 31                	js     0x4cd980
4cd94f:	3b 46 0c             	cmp    0xc(%esi),%eax
4cd952:	7d 2c                	jge    0x4cd980
4cd954:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4cd957:	8b 46 08             	mov    0x8(%esi),%eax
4cd95a:	8d 34 88             	lea    (%eax,%ecx,4),%esi
4cd95d:	56                   	push   %esi
4cd95e:	57                   	push   %edi
4cd95f:	e8 ac ce ff ff       	call   0x4ca810
4cd964:	ff 74 24 44          	push   0x44(%esp)
4cd968:	6a ff                	push   $0xffffffff
4cd96a:	56                   	push   %esi
4cd96b:	ff 74 24 44          	push   0x44(%esp)
4cd96f:	50                   	push   %eax
4cd970:	e8 9b 07 00 00       	call   0x4ce110
4cd975:	83 c4 1c             	add    $0x1c,%esp
4cd978:	5b                   	pop    %ebx
4cd979:	5f                   	pop    %edi
4cd97a:	5e                   	pop    %esi
4cd97b:	5d                   	pop    %ebp
4cd97c:	83 c4 18             	add    $0x18,%esp
4cd97f:	c3                   	ret
4cd980:	85 ed                	test   %ebp,%ebp
4cd982:	74 0b                	je     0x4cd98f
4cd984:	6a 00                	push   $0x0
4cd986:	56                   	push   %esi
4cd987:	57                   	push   %edi
4cd988:	6a 07                	push   $0x7
4cd98a:	ff d5                	call   *%ebp
4cd98c:	83 c4 10             	add    $0x10,%esp
4cd98f:	33 c0                	xor    %eax,%eax
4cd991:	5b                   	pop    %ebx
4cd992:	5f                   	pop    %edi
4cd993:	5e                   	pop    %esi
4cd994:	5d                   	pop    %ebp
4cd995:	83 c4 18             	add    $0x18,%esp
4cd998:	c3                   	ret
4cd999:	ff 74 24 3c          	push   0x3c(%esp)
4cd99d:	8b 41 14             	mov    0x14(%ecx),%eax
4cd9a0:	ff 74 24 3c          	push   0x3c(%esp)
4cd9a4:	56                   	push   %esi
4cd9a5:	ff 74 24 3c          	push   0x3c(%esp)
4cd9a9:	57                   	push   %edi
4cd9aa:	ff d0                	call   *%eax
4cd9ac:	83 c4 14             	add    $0x14,%esp
4cd9af:	5b                   	pop    %ebx
4cd9b0:	5f                   	pop    %edi
4cd9b1:	5e                   	pop    %esi
4cd9b2:	5d                   	pop    %ebp
4cd9b3:	83 c4 18             	add    $0x18,%esp
4cd9b6:	c3                   	ret
4cd9b7:	8b 74 24 30          	mov    0x30(%esp),%esi
4cd9bb:	85 f6                	test   %esi,%esi
4cd9bd:	74 04                	je     0x4cd9c3
4cd9bf:	8b 1e                	mov    (%esi),%ebx
4cd9c1:	eb 02                	jmp    0x4cd9c5
4cd9c3:	33 db                	xor    %ebx,%ebx
4cd9c5:	8b 41 0c             	mov    0xc(%ecx),%eax
4cd9c8:	56                   	push   %esi
4cd9c9:	ff 37                	push   (%edi)
4cd9cb:	ff d0                	call   *%eax
4cd9cd:	83 c4 08             	add    $0x8,%esp
4cd9d0:	85 f6                	test   %esi,%esi
4cd9d2:	74 bd                	je     0x4cd991
4cd9d4:	8b 54 24 38          	mov    0x38(%esp),%edx
4cd9d8:	83 fa ff             	cmp    $0xffffffff,%edx
4cd9db:	74 b4                	je     0x4cd991
4cd9dd:	8a 0b                	mov    (%ebx),%cl
4cd9df:	80 e1 20             	and    $0x20,%cl
4cd9e2:	0a 4c 24 3c          	or     0x3c(%esp),%cl
4cd9e6:	0a ca                	or     %dl,%cl
4cd9e8:	88 0b                	mov    %cl,(%ebx)
4cd9ea:	5b                   	pop    %ebx
4cd9eb:	5f                   	pop    %edi
4cd9ec:	5e                   	pop    %esi
4cd9ed:	5d                   	pop    %ebp
4cd9ee:	83 c4 18             	add    $0x18,%esp
4cd9f1:	c3                   	ret
4cd9f2:	f7 c3 00 08 00 00    	test   $0x800,%ebx
4cd9f8:	b8 01 00 00 00       	mov    $0x1,%eax
4cd9fd:	b9 02 00 00 00       	mov    $0x2,%ecx
4cda02:	0f 45 c1             	cmovne %ecx,%eax
4cda05:	89 44 24 14          	mov    %eax,0x14(%esp)
4cda09:	56                   	push   %esi
4cda0a:	57                   	push   %edi
4cda0b:	ff 74 24 38          	push   0x38(%esp)
4cda0f:	8d 44 24 40          	lea    0x40(%esp),%eax
4cda13:	50                   	push   %eax
4cda14:	e8 e7 cc ff ff       	call   0x4ca700
4cda19:	83 c4 10             	add    $0x10,%esp
4cda1c:	85 c0                	test   %eax,%eax
4cda1e:	0f 88 6b ff ff ff    	js     0x4cd98f
4cda24:	7e 0c                	jle    0x4cda32
4cda26:	8b 44 24 34          	mov    0x34(%esp),%eax
4cda2a:	5b                   	pop    %ebx
4cda2b:	5f                   	pop    %edi
4cda2c:	5e                   	pop    %esi
4cda2d:	5d                   	pop    %ebp
4cda2e:	83 c4 18             	add    $0x18,%esp
4cda31:	c3                   	ret
4cda32:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4cda36:	33 c0                	xor    %eax,%eax
4cda38:	89 44 24 34          	mov    %eax,0x34(%esp)
4cda3c:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4cda40:	83 f9 ff             	cmp    $0xffffffff,%ecx
4cda43:	75 12                	jne    0x4cda57
4cda45:	81 e3 3f ff ff ff    	and    $0xffffff3f,%ebx
4cda4b:	c7 44 24 18 10 00 00 	movl   $0x10,0x18(%esp)
4cda52:	00
4cda53:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4cda57:	85 ed                	test   %ebp,%ebp
4cda59:	74 17                	je     0x4cda72
4cda5b:	6a 00                	push   $0x0
4cda5d:	56                   	push   %esi
4cda5e:	57                   	push   %edi
4cda5f:	6a 06                	push   $0x6
4cda61:	ff d5                	call   *%ebp
4cda63:	83 c4 10             	add    $0x10,%esp
4cda66:	85 c0                	test   %eax,%eax
4cda68:	0f 84 21 ff ff ff    	je     0x4cd98f
4cda6e:	8b 44 24 34          	mov    0x34(%esp),%eax
4cda72:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
4cda76:	8b 4e 08             	mov    0x8(%esi),%ecx
4cda79:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
4cda80:	00
4cda81:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4cda85:	7e 70                	jle    0x4cdaf7
4cda87:	6a 01                	push   $0x1
4cda89:	51                   	push   %ecx
4cda8a:	57                   	push   %edi
4cda8b:	e8 f0 ca ff ff       	call   0x4ca580
4cda90:	8b d8                	mov    %eax,%ebx
4cda92:	83 c4 0c             	add    $0xc,%esp
4cda95:	85 db                	test   %ebx,%ebx
4cda97:	0f 84 f2 fe ff ff    	je     0x4cd98f
4cda9d:	53                   	push   %ebx
4cda9e:	57                   	push   %edi
4cda9f:	e8 6c cd ff ff       	call   0x4ca810
4cdaa4:	ff 74 24 18          	push   0x18(%esp)
4cdaa8:	6a ff                	push   $0xffffffff
4cdaaa:	53                   	push   %ebx
4cdaab:	6a 00                	push   $0x0