48f708:	8b 44 24 14          	mov    0x14(%esp),%eax
48f70c:	85 c9                	test   %ecx,%ecx
48f70e:	79 0b                	jns    0x48f71b
48f710:	5f                   	pop    %edi
48f711:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48f717:	33 c0                	xor    %eax,%eax
48f719:	5e                   	pop    %esi
48f71a:	c3                   	ret
48f71b:	5f                   	pop    %edi
48f71c:	89 08                	mov    %ecx,(%eax)
48f71e:	b8 01 00 00 00       	mov    $0x1,%eax
48f723:	5e                   	pop    %esi
48f724:	c3                   	ret
48f725:	53                   	push   %ebx
48f726:	8b 5c 24 20          	mov    0x20(%esp),%ebx
48f72a:	85 db                	test   %ebx,%ebx
48f72c:	7f 15                	jg     0x48f743
48f72e:	8b 44 24 18          	mov    0x18(%esp),%eax
48f732:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48f738:	33 c0                	xor    %eax,%eax
48f73a:	85 db                	test   %ebx,%ebx
48f73c:	5b                   	pop    %ebx
48f73d:	5f                   	pop    %edi
48f73e:	0f 94 c0             	sete   %al
48f741:	5e                   	pop    %esi
48f742:	c3                   	ret
48f743:	f7 46 5c 00 01 00 00 	testl  $0x100,0x5c(%esi)
48f74a:	74 1a                	je     0x48f766
48f74c:	53                   	push   %ebx
48f74d:	ff 74 24 20          	push   0x20(%esp)
48f751:	ff 74 24 20          	push   0x20(%esp)
48f755:	ff 74 24 20          	push   0x20(%esp)
48f759:	56                   	push   %esi
48f75a:	e8 e1 01 00 00       	call   0x48f940
48f75f:	83 c4 14             	add    $0x14,%esp
48f762:	5b                   	pop    %ebx
48f763:	5f                   	pop    %edi
48f764:	5e                   	pop    %esi
48f765:	c3                   	ret
48f766:	8b 7f 04             	mov    0x4(%edi),%edi
48f769:	83 ff 20             	cmp    $0x20,%edi
48f76c:	76 17                	jbe    0x48f785
48f76e:	68 3c 44 69 00       	push   $0x69443c
48f773:	68 c9 01 00 00       	push   $0x1c9
48f778:	68 54 43 69 00       	push   $0x694354
48f77d:	e8 7e 11 01 00       	call   0x4a0900
48f782:	83 c4 0c             	add    $0xc,%esp
48f785:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
48f789:	55                   	push   %ebp
48f78a:	8b 6c 24 18          	mov    0x18(%esp),%ebp
48f78e:	74 1a                	je     0x48f7aa
48f790:	57                   	push   %edi
48f791:	8d 46 6c             	lea    0x6c(%esi),%eax
48f794:	50                   	push   %eax
48f795:	55                   	push   %ebp
48f796:	e8 65 37 15 00       	call   0x5e2f00
48f79b:	83 c4 0c             	add    $0xc,%esp
48f79e:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
48f7a5:	00
48f7a6:	03 ef                	add    %edi,%ebp
48f7a8:	eb 08                	jmp    0x48f7b2
48f7aa:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
48f7b1:	00
48f7b2:	53                   	push   %ebx
48f7b3:	ff 74 24 24          	push   0x24(%esp)
48f7b7:	8b 5c 24 24          	mov    0x24(%esp),%ebx
48f7bb:	53                   	push   %ebx
48f7bc:	55                   	push   %ebp
48f7bd:	56                   	push   %esi
48f7be:	e8 7d 01 00 00       	call   0x48f940
48f7c3:	83 c4 14             	add    $0x14,%esp
48f7c6:	85 c0                	test   %eax,%eax
48f7c8:	75 05                	jne    0x48f7cf
48f7ca:	5d                   	pop    %ebp
48f7cb:	5b                   	pop    %ebx
48f7cc:	5f                   	pop    %edi
48f7cd:	5e                   	pop    %esi
48f7ce:	c3                   	ret
48f7cf:	83 ff 01             	cmp    $0x1,%edi
48f7d2:	76 23                	jbe    0x48f7f7
48f7d4:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
48f7d8:	75 1d                	jne    0x48f7f7
48f7da:	29 3b                	sub    %edi,(%ebx)
48f7dc:	c7 46 64 01 00 00 00 	movl   $0x1,0x64(%esi)
48f7e3:	8b 03                	mov    (%ebx),%eax
48f7e5:	03 c5                	add    %ebp,%eax
48f7e7:	57                   	push   %edi
48f7e8:	50                   	push   %eax
48f7e9:	8d 46 6c             	lea    0x6c(%esi),%eax
48f7ec:	50                   	push   %eax
48f7ed:	e8 0e 37 15 00       	call   0x5e2f00
48f7f2:	83 c4 0c             	add    $0xc,%esp
48f7f5:	eb 07                	jmp    0x48f7fe
48f7f7:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
48f7fe:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
48f803:	74 02                	je     0x48f807
48f805:	01 3b                	add    %edi,(%ebx)
48f807:	5d                   	pop    %ebp
48f808:	5b                   	pop    %ebx
48f809:	5f                   	pop    %edi
48f80a:	b8 01 00 00 00       	mov    $0x1,%eax
48f80f:	5e                   	pop    %esi
48f810:	c3                   	ret
48f811:	cc                   	int3
48f812:	cc                   	int3
48f813:	cc                   	int3
48f814:	cc                   	int3
48f815:	cc                   	int3
48f816:	cc                   	int3
48f817:	cc                   	int3
48f818:	cc                   	int3
48f819:	cc                   	int3
48f81a:	cc                   	int3
48f81b:	cc                   	int3
48f81c:	cc                   	int3
48f81d:	cc                   	int3
48f81e:	cc                   	int3
48f81f:	cc                   	int3
48f820:	e9 0b 00 00 00       	jmp    0x48f830
48f825:	cc                   	int3
48f826:	cc                   	int3
48f827:	cc                   	int3
48f828:	cc                   	int3
48f829:	cc                   	int3
48f82a:	cc                   	int3
48f82b:	cc                   	int3
48f82c:	cc                   	int3
48f82d:	cc                   	int3
48f82e:	cc                   	int3
48f82f:	cc                   	int3
48f830:	53                   	push   %ebx
48f831:	8b 5c 24 08          	mov    0x8(%esp),%ebx
48f835:	55                   	push   %ebp
48f836:	8b 2b                	mov    (%ebx),%ebp
48f838:	f7 45 10 00 00 10 00 	testl  $0x100000,0x10(%ebp)
48f83f:	74 25                	je     0x48f866
48f841:	8b 45 18             	mov    0x18(%ebp),%eax
48f844:	6a 00                	push   $0x0
48f846:	6a 00                	push   $0x0
48f848:	ff 74 24 18          	push   0x18(%esp)
48f84c:	53                   	push   %ebx
48f84d:	ff d0                	call   *%eax
48f84f:	8b c8                	mov    %eax,%ecx
48f851:	83 c4 10             	add    $0x10,%esp
48f854:	85 c9                	test   %ecx,%ecx
48f856:	78 6f                	js     0x48f8c7
48f858:	8b 44 24 14          	mov    0x14(%esp),%eax
48f85c:	5d                   	pop    %ebp
48f85d:	5b                   	pop    %ebx
48f85e:	89 08                	mov    %ecx,(%eax)
48f860:	b8 01 00 00 00       	mov    $0x1,%eax
48f865:	c3                   	ret
48f866:	8b 6d 04             	mov    0x4(%ebp),%ebp
48f869:	83 fd 20             	cmp    $0x20,%ebp
48f86c:	76 17                	jbe    0x48f885
48f86e:	68 24 44 69 00       	push   $0x694424
48f873:	68 95 01 00 00       	push   $0x195
48f878:	68 54 43 69 00       	push   $0x694354
48f87d:	e8 7e 10 01 00       	call   0x4a0900
48f882:	83 c4 0c             	add    $0xc,%esp
48f885:	83 fd 01             	cmp    $0x1,%ebp
48f888:	75 12                	jne    0x48f89c
48f88a:	8b 44 24 14          	mov    0x14(%esp),%eax
48f88e:	5d                   	pop    %ebp
48f88f:	5b                   	pop    %ebx
48f890:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48f896:	b8 01 00 00 00       	mov    $0x1,%eax
48f89b:	c3                   	ret
48f89c:	f7 43 5c 00 01 00 00 	testl  $0x100,0x5c(%ebx)
48f8a3:	8b 43 0c             	mov    0xc(%ebx),%eax
48f8a6:	74 24                	je     0x48f8cc
48f8a8:	85 c0                	test   %eax,%eax
48f8aa:	74 de                	je     0x48f88a
48f8ac:	68 9e 01 00 00       	push   $0x19e
48f8b1:	68 54 43 69 00       	push   $0x694354
48f8b6:	68 8a 00 00 00       	push   $0x8a
48f8bb:	6a 7f                	push   $0x7f
48f8bd:	6a 06                	push   $0x6
48f8bf:	e8 dc 1b 01 00       	call   0x4a14a0
48f8c4:	83 c4 14             	add    $0x14,%esp
48f8c7:	5d                   	pop    %ebp
48f8c8:	33 c0                	xor    %eax,%eax
48f8ca:	5b                   	pop    %ebx
48f8cb:	c3                   	ret
48f8cc:	8b d5                	mov    %ebp,%edx
48f8ce:	2b d0                	sub    %eax,%edx
48f8d0:	3b c5                	cmp    %ebp,%eax
48f8d2:	73 24                	jae    0x48f8f8
48f8d4:	56                   	push   %esi
48f8d5:	57                   	push   %edi
48f8d6:	8d 7b 30             	lea    0x30(%ebx),%edi
48f8d9:	8b ca                	mov    %edx,%ecx
48f8db:	03 f8                	add    %eax,%edi
48f8dd:	8b f1                	mov    %ecx,%esi
48f8df:	8a c2                	mov    %dl,%al
48f8e1:	c1 e9 02             	shr    $0x2,%ecx
48f8e4:	0f b6 c0             	movzbl %al,%eax
48f8e7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
48f8ed:	f3 ab                	rep stos %eax,%es:(%edi)
48f8ef:	8b ce                	mov    %esi,%ecx
48f8f1:	83 e1 03             	and    $0x3,%ecx
48f8f4:	f3 aa                	rep stos %al,%es:(%edi)
48f8f6:	5f                   	pop    %edi
48f8f7:	5e                   	pop    %esi
48f8f8:	8b 0b                	mov    (%ebx),%ecx
48f8fa:	8d 43 30             	lea    0x30(%ebx),%eax
48f8fd:	55                   	push   %ebp
48f8fe:	50                   	push   %eax
48f8ff:	ff 74 24 18          	push   0x18(%esp)
48f903:	8b 41 18             	mov    0x18(%ecx),%eax
48f906:	53                   	push   %ebx
48f907:	ff d0                	call   *%eax
48f909:	83 c4 10             	add    $0x10,%esp
48f90c:	85 c0                	test   %eax,%eax
48f90e:	74 06                	je     0x48f916
48f910:	8b 4c 24 14          	mov    0x14(%esp),%ecx
48f914:	89 29                	mov    %ebp,(%ecx)
48f916:	5d                   	pop    %ebp
48f917:	5b                   	pop    %ebx
48f918:	c3                   	ret
48f919:	cc                   	int3
48f91a:	cc                   	int3
48f91b:	cc                   	int3
48f91c:	cc                   	int3
48f91d:	cc                   	int3
48f91e:	cc                   	int3
48f91f:	cc                   	int3
48f920:	6a 01                	push   $0x1
48f922:	ff 74 24 18          	push   0x18(%esp)
48f926:	ff 74 24 18          	push   0x18(%esp)
48f92a:	ff 74 24 18          	push   0x18(%esp)
48f92e:	ff 74 24 18          	push   0x18(%esp)
48f932:	ff 74 24 18          	push   0x18(%esp)
48f936:	e8 25 f9 ff ff       	call   0x48f260
48f93b:	83 c4 18             	add    $0x18,%esp
48f93e:	c3                   	ret
48f93f:	cc                   	int3
48f940:	55                   	push   %ebp
48f941:	57                   	push   %edi
48f942:	8b 7c 24 0c          	mov    0xc(%esp),%edi
48f946:	8b 2f                	mov    (%edi),%ebp
48f948:	f7 45 10 00 00 10 00 	testl  $0x100000,0x10(%ebp)
48f94f:	74 2e                	je     0x48f97f
48f951:	ff 74 24 1c          	push   0x1c(%esp)
48f955:	8b 45 18             	mov    0x18(%ebp),%eax
48f958:	ff 74 24 1c          	push   0x1c(%esp)
48f95c:	ff 74 24 18          	push   0x18(%esp)
48f960:	57                   	push   %edi
48f961:	ff d0                	call   *%eax
48f963:	8b c8                	mov    %eax,%ecx
48f965:	83 c4 10             	add    $0x10,%esp
48f968:	85 c9                	test   %ecx,%ecx
48f96a:	79 05                	jns    0x48f971
48f96c:	5f                   	pop    %edi
48f96d:	33 c0                	xor    %eax,%eax
48f96f:	5d                   	pop    %ebp
48f970:	c3                   	ret
48f971:	8b 44 24 14          	mov    0x14(%esp),%eax
48f975:	5f                   	pop    %edi
48f976:	5d                   	pop    %ebp
48f977:	89 08                	mov    %ecx,(%eax)
48f979:	b8 01 00 00 00       	mov    $0x1,%eax
48f97e:	c3                   	ret
48f97f:	56                   	push   %esi
48f980:	8b 74 24 20          	mov    0x20(%esp),%esi
48f984:	85 f6                	test   %esi,%esi
48f986:	7f 15                	jg     0x48f99d
48f988:	8b 44 24 18          	mov    0x18(%esp),%eax
48f98c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48f992:	33 c0                	xor    %eax,%eax
48f994:	85 f6                	test   %esi,%esi
48f996:	5e                   	pop    %esi
48f997:	5f                   	pop    %edi
48f998:	0f 94 c0             	sete   %al
48f99b:	5d                   	pop    %ebp
48f99c:	c3                   	ret
48f99d:	8b 47 0c             	mov    0xc(%edi),%eax
48f9a0:	89 44 24 10          	mov    %eax,0x10(%esp)
48f9a4:	85 c0                	test   %eax,%eax
48f9a6:	75 36                	jne    0x48f9de
48f9a8:	85 77 68             	test   %esi,0x68(%edi)
48f9ab:	75 31                	jne    0x48f9de
48f9ad:	8b 45 18             	mov    0x18(%ebp),%eax
48f9b0:	56                   	push   %esi
48f9b1:	ff 74 24 20          	push   0x20(%esp)
48f9b5:	ff 74 24 1c          	push   0x1c(%esp)
48f9b9:	57                   	push   %edi
48f9ba:	ff d0                	call   *%eax
48f9bc:	83 c4 10             	add    $0x10,%esp
48f9bf:	85 c0                	test   %eax,%eax
48f9c1:	8b 44 24 18          	mov    0x18(%esp),%eax
48f9c5:	74 0b                	je     0x48f9d2
48f9c7:	89 30                	mov    %esi,(%eax)
48f9c9:	b8 01 00 00 00       	mov    $0x1,%eax
48f9ce:	5e                   	pop    %esi
48f9cf:	5f                   	pop    %edi
48f9d0:	5d                   	pop    %ebp
48f9d1:	c3                   	ret
48f9d2:	5e                   	pop    %esi
48f9d3:	5f                   	pop    %edi
48f9d4:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48f9da:	33 c0                	xor    %eax,%eax
48f9dc:	5d                   	pop    %ebp
48f9dd:	c3                   	ret
48f9de:	8b 6d 04             	mov    0x4(%ebp),%ebp
48f9e1:	83 fd 20             	cmp    $0x20,%ebp
48f9e4:	7e 1b                	jle    0x48fa01
48f9e6:	68 08 44 69 00       	push   $0x694408
48f9eb:	68 5e 01 00 00       	push   $0x15e
48f9f0:	68 54 43 69 00       	push   $0x694354
48f9f5:	e8 06 0f 01 00       	call   0x4a0900
48f9fa:	8b 44 24 1c          	mov    0x1c(%esp),%eax
48f9fe:	83 c4 0c             	add    $0xc,%esp
48fa01:	53                   	push   %ebx
48fa02:	85 c0                	test   %eax,%eax
48fa04:	74 6c                	je     0x48fa72
48fa06:	8b dd                	mov    %ebp,%ebx
48fa08:	2b d8                	sub    %eax,%ebx
48fa0a:	83 c0 30             	add    $0x30,%eax
48fa0d:	03 c7                	add    %edi,%eax
48fa0f:	3b de                	cmp    %esi,%ebx
48fa11:	7e 25                	jle    0x48fa38
48fa13:	56                   	push   %esi
48fa14:	ff 74 24 24          	push   0x24(%esp)
48fa18:	50                   	push   %eax
48fa19:	e8 e2 34 15 00       	call   0x5e2f00
48fa1e:	8b 44 24 28          	mov    0x28(%esp),%eax
48fa22:	83 c4 0c             	add    $0xc,%esp
48fa25:	01 77 0c             	add    %esi,0xc(%edi)
48fa28:	5b                   	pop    %ebx
48fa29:	5e                   	pop    %esi
48fa2a:	5f                   	pop    %edi
48fa2b:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
48fa31:	b8 01 00 00 00       	mov    $0x1,%eax
48fa36:	5d                   	pop    %ebp
48fa37:	c3                   	ret
48fa38:	8b 4c 24 20          	mov    0x20(%esp),%ecx
48fa3c:	53                   	push   %ebx
48fa3d:	51                   	push   %ecx
48fa3e:	50                   	push   %eax
48fa3f:	e8 bc 34 15 00       	call   0x5e2f00
48fa44:	8b 0f                	mov    (%edi),%ecx
48fa46:	8d 47 30             	lea    0x30(%edi),%eax
48fa49:	55                   	push   %ebp
48fa4a:	50                   	push   %eax
48fa4b:	ff 74 24 2c          	push   0x2c(%esp)
48fa4f:	8b 41 18             	mov    0x18(%ecx),%eax
48fa52:	57                   	push   %edi
48fa53:	ff d0                	call   *%eax
48fa55:	83 c4 1c             	add    $0x1c,%esp