4ca895:	50                   	push   %eax
4ca896:	57                   	push   %edi
4ca897:	e8 dc d3 f3 ff       	call   0x407c78
4ca89c:	8b 47 0c             	mov    0xc(%edi),%eax
4ca89f:	2b 47 04             	sub    0x4(%edi),%eax
4ca8a2:	8b 57 08             	mov    0x8(%edi),%edx
4ca8a5:	2b d0                	sub    %eax,%edx
4ca8a7:	89 17                	mov    %edx,(%edi)
4ca8a9:	8b 47 08             	mov    0x8(%edi),%eax
4ca8ac:	50                   	push   %eax
4ca8ad:	8b 5f 0c             	mov    0xc(%edi),%ebx
4ca8b0:	53                   	push   %ebx
4ca8b1:	8b 45 e0             	mov    -0x20(%ebp),%eax
4ca8b4:	50                   	push   %eax
4ca8b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca8b8:	e8 03 e4 f5 ff       	call   0x428cc0
4ca8bd:	8b 17                	mov    (%edi),%edx
4ca8bf:	4a                   	dec    %edx
4ca8c0:	8b cb                	mov    %ebx,%ecx
4ca8c2:	e8 c9 e5 fb ff       	call   0x488e90
4ca8c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca8ca:	8b 40 14             	mov    0x14(%eax),%eax
4ca8cd:	8b 55 dc             	mov    -0x24(%ebp),%edx
4ca8d0:	e8 af d9 f5 ff       	call   0x428284
4ca8d5:	8b d7                	mov    %edi,%edx
4ca8d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca8da:	e8 1d de f5 ff       	call   0x4286fc
4ca8df:	8b 07                	mov    (%edi),%eax
4ca8e1:	03 47 08             	add    0x8(%edi),%eax
4ca8e4:	8b 15 00 b3 6a 00    	mov    0x6ab300,%edx
4ca8ea:	2b 42 34             	sub    0x34(%edx),%eax
4ca8ed:	40                   	inc    %eax
4ca8ee:	d1 f8                	sar    $1,%eax
4ca8f0:	79 03                	jns    0x4ca8f5
4ca8f2:	83 d0 00             	adc    $0x0,%eax
4ca8f5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4ca8f8:	8b 47 04             	mov    0x4(%edi),%eax
4ca8fb:	03 47 0c             	add    0xc(%edi),%eax
4ca8fe:	8b 15 00 b3 6a 00    	mov    0x6ab300,%edx
4ca904:	2b 42 30             	sub    0x30(%edx),%eax
4ca907:	d1 f8                	sar    $1,%eax
4ca909:	79 03                	jns    0x4ca90e
4ca90b:	83 d0 00             	adc    $0x0,%eax
4ca90e:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ca911:	55                   	push   %ebp
4ca912:	8b 45 08             	mov    0x8(%ebp),%eax
4ca915:	8b 40 20             	mov    0x20(%eax),%eax
4ca918:	e8 6b f9 ff ff       	call   0x4ca288
4ca91d:	59                   	pop    %ecx
4ca91e:	8b d8                	mov    %eax,%ebx
4ca920:	6a 01                	push   $0x1
4ca922:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca925:	e8 96 e3 f5 ff       	call   0x428cc0
4ca92a:	33 d2                	xor    %edx,%edx
4ca92c:	8a d3                	mov    %bl,%dl
4ca92e:	8d 14 52             	lea    (%edx,%edx,2),%edx
4ca931:	8b 8c 96 88 00 00 00 	mov    0x88(%esi,%edx,4),%ecx
4ca938:	8b d7                	mov    %edi,%edx
4ca93a:	e8 ed e4 fb ff       	call   0x488e2c
4ca93f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca942:	e8 79 e3 f5 ff       	call   0x428cc0
4ca947:	33 d2                	xor    %edx,%edx
4ca949:	8a d3                	mov    %bl,%dl
4ca94b:	8d 14 52             	lea    (%edx,%edx,2),%edx
4ca94e:	8b 8c 96 80 00 00 00 	mov    0x80(%esi,%edx,4),%ecx
4ca955:	8b d7                	mov    %edi,%edx
4ca957:	e8 88 e4 fb ff       	call   0x488de4
4ca95c:	84 c0                	test   %al,%al
4ca95e:	74 17                	je     0x4ca977
4ca960:	55                   	push   %ebp
4ca961:	33 c0                	xor    %eax,%eax
4ca963:	8a c3                	mov    %bl,%al
4ca965:	8d 04 40             	lea    (%eax,%eax,2),%eax
4ca968:	8b 84 86 84 00 00 00 	mov    0x84(%esi,%eax,4),%eax
4ca96f:	e8 3c f9 ff ff       	call   0x4ca2b0
4ca974:	59                   	pop    %ecx
4ca975:	eb 0a                	jmp    0x4ca981
4ca977:	55                   	push   %ebp
4ca978:	8b 45 d8             	mov    -0x28(%ebp),%eax
4ca97b:	e8 30 f9 ff ff       	call   0x4ca2b0
4ca980:	59                   	pop    %ecx
4ca981:	5f                   	pop    %edi
4ca982:	5e                   	pop    %esi
4ca983:	5b                   	pop    %ebx
4ca984:	8b e5                	mov    %ebp,%esp
4ca986:	5d                   	pop    %ebp
4ca987:	c2 04 00             	ret    $0x4
4ca98a:	8b c0                	mov    %eax,%eax
4ca98c:	55                   	push   %ebp
4ca98d:	8b ec                	mov    %esp,%ebp
4ca98f:	83 c4 ec             	add    $0xffffffec,%esp
4ca992:	53                   	push   %ebx
4ca993:	56                   	push   %esi
4ca994:	57                   	push   %edi
4ca995:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4ca998:	8b f2                	mov    %edx,%esi
4ca99a:	8b d8                	mov    %eax,%ebx
4ca99c:	8b 7d 08             	mov    0x8(%ebp),%edi
4ca99f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca9a2:	56                   	push   %esi
4ca9a3:	57                   	push   %edi
4ca9a4:	8b f0                	mov    %eax,%esi
4ca9a6:	8d 7d ec             	lea    -0x14(%ebp),%edi
4ca9a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca9aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca9ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca9ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca9ad:	5f                   	pop    %edi
4ca9ae:	5e                   	pop    %esi
4ca9af:	6a 01                	push   $0x1
4ca9b1:	8b d7                	mov    %edi,%edx
4ca9b3:	b1 02                	mov    $0x2,%cl
4ca9b5:	8b c3                	mov    %ebx,%eax
4ca9b7:	e8 b4 e8 ff ff       	call   0x4c9270
4ca9bc:	50                   	push   %eax
4ca9bd:	8b c6                	mov    %esi,%eax
4ca9bf:	e8 fc e2 f5 ff       	call   0x428cc0
4ca9c4:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca9c7:	59                   	pop    %ecx
4ca9c8:	e8 5f e4 fb ff       	call   0x488e2c
4ca9cd:	8b d7                	mov    %edi,%edx
4ca9cf:	33 c9                	xor    %ecx,%ecx
4ca9d1:	8b c3                	mov    %ebx,%eax
4ca9d3:	e8 98 e8 ff ff       	call   0x4c9270
4ca9d8:	50                   	push   %eax
4ca9d9:	8b c6                	mov    %esi,%eax
4ca9db:	e8 e0 e2 f5 ff       	call   0x428cc0
4ca9e0:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca9e3:	59                   	pop    %ecx
4ca9e4:	e8 fb e3 fb ff       	call   0x488de4
4ca9e9:	5f                   	pop    %edi
4ca9ea:	5e                   	pop    %esi
4ca9eb:	5b                   	pop    %ebx
4ca9ec:	8b e5                	mov    %ebp,%esp
4ca9ee:	5d                   	pop    %ebp
4ca9ef:	c2 04 00             	ret    $0x4
4ca9f2:	8b c0                	mov    %eax,%eax
4ca9f4:	55                   	push   %ebp
4ca9f5:	8b ec                	mov    %esp,%ebp
4ca9f7:	53                   	push   %ebx
4ca9f8:	56                   	push   %esi
4ca9f9:	8b f1                	mov    %ecx,%esi
4ca9fb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4ca9fe:	33 c0                	xor    %eax,%eax
4caa00:	89 03                	mov    %eax,(%ebx)
4caa02:	8b 45 0c             	mov    0xc(%ebp),%eax
4caa05:	8b 15 28 07 47 00    	mov    0x470728,%edx
4caa0b:	e8 f4 91 f3 ff       	call   0x403c04
4caa10:	84 c0                	test   %al,%al
4caa12:	75 24                	jne    0x4caa38
4caa14:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
4caa18:	74 1e                	je     0x4caa38
4caa1a:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
4caa1e:	74 18                	je     0x4caa38
4caa20:	80 7e 0b 00          	cmpb   $0x0,0xb(%esi)
4caa24:	75 12                	jne    0x4caa38
4caa26:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
4caa2a:	74 06                	je     0x4caa32
4caa2c:	80 7e 1a 00          	cmpb   $0x0,0x1a(%esi)
4caa30:	74 06                	je     0x4caa38
4caa32:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
4caa38:	8b 03                	mov    (%ebx),%eax
4caa3a:	89 43 04             	mov    %eax,0x4(%ebx)
4caa3d:	5e                   	pop    %esi
4caa3e:	5b                   	pop    %ebx
4caa3f:	5d                   	pop    %ebp
4caa40:	c2 08 00             	ret    $0x8
4caa43:	90                   	nop
4caa44:	55                   	push   %ebp
4caa45:	8b ec                	mov    %esp,%ebp
4caa47:	83 c4 ec             	add    $0xffffffec,%esp
4caa4a:	53                   	push   %ebx
4caa4b:	56                   	push   %esi
4caa4c:	57                   	push   %edi
4caa4d:	8b f1                	mov    %ecx,%esi
4caa4f:	8d 7d ec             	lea    -0x14(%ebp),%edi
4caa52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4caa53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4caa54:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4caa55:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4caa56:	89 55 fc             	mov    %edx,-0x4(%ebp)
4caa59:	8b f8                	mov    %eax,%edi
4caa5b:	8b 75 0c             	mov    0xc(%ebp),%esi
4caa5e:	8b 5d 10             	mov    0x10(%ebp),%ebx
4caa61:	8b c6                	mov    %esi,%eax
4caa63:	8b 15 28 07 47 00    	mov    0x470728,%edx
4caa69:	e8 96 91 f3 ff       	call   0x403c04
4caa6e:	84 c0                	test   %al,%al
4caa70:	74 2a                	je     0x4caa9c
4caa72:	8b 45 f0             	mov    -0x10(%ebp),%eax
4caa75:	50                   	push   %eax
4caa76:	8b 45 08             	mov    0x8(%ebp),%eax
4caa79:	50                   	push   %eax
4caa7a:	8a 43 08             	mov    0x8(%ebx),%al
4caa7d:	50                   	push   %eax
4caa7e:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4caa82:	0f 95 c0             	setne  %al
4caa85:	50                   	push   %eax
4caa86:	8a 43 0b             	mov    0xb(%ebx),%al
4caa89:	50                   	push   %eax
4caa8a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4caa8d:	8b 55 fc             	mov    -0x4(%ebp),%edx
4caa90:	8b c6                	mov    %esi,%eax
4caa92:	8b 18                	mov    (%eax),%ebx
4caa94:	ff 53 3c             	call   *0x3c(%ebx)
4caa97:	e9 cd 00 00 00       	jmp    0x4cab69
4caa9c:	8b d3                	mov    %ebx,%edx
4caa9e:	8b c7                	mov    %edi,%eax
4caaa0:	8b 08                	mov    (%eax),%ecx
4caaa2:	ff 51 10             	call   *0x10(%ecx)
4caaa5:	e8 0e dc fb ff       	call   0x4886b8
4caaaa:	83 f8 50             	cmp    $0x50,%eax
4caaad:	0f 9c c0             	setl   %al
4caab0:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4caab4:	75 34                	jne    0x4caaea
4caab6:	84 c0                	test   %al,%al
4caab8:	75 18                	jne    0x4caad2
4caaba:	8b 45 08             	mov    0x8(%ebp),%eax
4caabd:	50                   	push   %eax
4caabe:	6a 00                	push   $0x0
4caac0:	8d 55 ec             	lea    -0x14(%ebp),%edx
4caac3:	8b ce                	mov    %esi,%ecx
4caac5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4caac8:	e8 7f ea fb ff       	call   0x48954c
4caacd:	e9 97 00 00 00       	jmp    0x4cab69
4caad2:	8b 45 08             	mov    0x8(%ebp),%eax
4caad5:	50                   	push   %eax
4caad6:	68 10 00 00 80       	push   $0x80000010
4caadb:	8d 55 ec             	lea    -0x14(%ebp),%edx
4caade:	8b ce                	mov    %esi,%ecx
4caae0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4caae3:	e8 98 ec fb ff       	call   0x489780
4caae8:	eb 7f                	jmp    0x4cab69
4caaea:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4caaee:	75 0c                	jne    0x4caafc
4caaf0:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4caaf4:	75 06                	jne    0x4caafc
4caaf6:	80 7b 0a 00          	cmpb   $0x0,0xa(%ebx)
4caafa:	74 24                	je     0x4cab20
4caafc:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4cab00:	75 0a                	jne    0x4cab0c
4cab02:	80 7b 09 00          	cmpb   $0x0,0x9(%ebx)
4cab06:	74 04                	je     0x4cab0c
4cab08:	80 7b 1a 00          	cmpb   $0x0,0x1a(%ebx)
4cab0c:	8b 55 08             	mov    0x8(%ebp),%edx
4cab0f:	52                   	push   %edx
4cab10:	50                   	push   %eax
4cab11:	8d 55 ec             	lea    -0x14(%ebp),%edx
4cab14:	8b ce                	mov    %esi,%ecx
4cab16:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cab19:	e8 f2 e5 fb ff       	call   0x489110
4cab1e:	eb 49                	jmp    0x4cab69
4cab20:	84 c0                	test   %al,%al
4cab22:	75 16                	jne    0x4cab3a
4cab24:	8b 15 e8 6b 6a 00    	mov    0x6a6be8,%edx
4cab2a:	80 3a 00             	cmpb   $0x0,(%edx)
4cab2d:	75 0b                	jne    0x4cab3a
4cab2f:	8b 15 b0 70 6a 00    	mov    0x6a70b0,%edx
4cab35:	80 3a 00             	cmpb   $0x0,(%edx)
4cab38:	74 14                	je     0x4cab4e
4cab3a:	8b 55 08             	mov    0x8(%ebp),%edx
4cab3d:	52                   	push   %edx
4cab3e:	50                   	push   %eax
4cab3f:	8d 55 ec             	lea    -0x14(%ebp),%edx
4cab42:	8b ce                	mov    %esi,%ecx
4cab44:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cab47:	e8 c4 e5 fb ff       	call   0x489110
4cab4c:	eb 1b                	jmp    0x4cab69
4cab4e:	8b 45 08             	mov    0x8(%ebp),%eax
4cab51:	50                   	push   %eax
4cab52:	68 05 00 00 80       	push   $0x80000005
4cab57:	68 ff 00 00 00       	push   $0xff
4cab5c:	8d 55 ec             	lea    -0x14(%ebp),%edx
4cab5f:	8b ce                	mov    %esi,%ecx
4cab61:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cab64:	e8 d3 e7 fb ff       	call   0x48933c
4cab69:	5f                   	pop    %edi
4cab6a:	5e                   	pop    %esi
4cab6b:	5b                   	pop    %ebx
4cab6c:	8b e5                	mov    %ebp,%esp
4cab6e:	5d                   	pop    %ebp
4cab6f:	c2 0c 00             	ret    $0xc
4cab72:	8b c0                	mov    %eax,%eax
4cab74:	55                   	push   %ebp
4cab75:	8b ec                	mov    %esp,%ebp
4cab77:	83 c4 e4             	add    $0xffffffe4,%esp
4cab7a:	53                   	push   %ebx
4cab7b:	56                   	push   %esi
4cab7c:	57                   	push   %edi
4cab7d:	8b f1                	mov    %ecx,%esi
4cab7f:	8d 7d e4             	lea    -0x1c(%ebp),%edi
4cab82:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cab83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cab84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cab85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4cab86:	8b da                	mov    %edx,%ebx
4cab88:	89 45 fc             	mov    %eax,-0x4(%ebp)
4cab8b:	8b 45 0c             	mov    0xc(%ebp),%eax
4cab8e:	50                   	push   %eax
4cab8f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4cab92:	8b d3                	mov    %ebx,%edx
4cab94:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cab97:	8b 30                	mov    (%eax),%esi
4cab99:	ff 56 2c             	call   *0x2c(%esi)
4cab9c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4cab9f:	03 7d ec             	add    -0x14(%ebp),%edi
4caba2:	a1 00 b3 6a 00       	mov    0x6ab300,%eax
4caba7:	2b 78 34             	sub    0x34(%eax),%edi
4cabaa:	d1 ff                	sar    $1,%edi
4cabac:	79 03                	jns    0x4cabb1
4cabae:	83 d7 00             	adc    $0x0,%edi
4cabb1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4cabb4:	03 45 f0             	add    -0x10(%ebp),%eax
4cabb7:	8b 15 00 b3 6a 00    	mov    0x6ab300,%edx
4cabbd:	2b 42 30             	sub    0x30(%edx),%eax
4cabc0:	d1 f8                	sar    $1,%eax
4cabc2:	79 03                	jns    0x4cabc7
4cabc4:	83 d0 00             	adc    $0x0,%eax
4cabc7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4cabca:	8b 45 08             	mov    0x8(%ebp),%eax
4cabcd:	83 e8 01             	sub    $0x1,%eax
4cabd0:	72 1e                	jb     0x4cabf0
4cabd2:	74 0a                	je     0x4cabde
4cabd4:	83 e8 02             	sub    $0x2,%eax
4cabd7:	74 0e                	je     0x4cabe7
4cabd9:	e9 b6 00 00 00       	jmp    0x4cac94
4cabde:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
4cabe5:	eb 0e                	jmp    0x4cabf5
4cabe7:	c7 45 f8 03 00 00 00 	movl   $0x3,-0x8(%ebp)
4cabee:	eb 05                	jmp    0x4cabf5
4cabf0:	33 c0                	xor    %eax,%eax
4cabf2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4cabf5:	b2 01                	mov    $0x1,%dl
4cabf7:	a1 ec 6a 42 00       	mov    0x426aec,%eax
4cabfc:	e8 cf 25 f6 ff       	call   0x42d1d0
4cac01:	8b f0                	mov    %eax,%esi
4cac03:	b2 01                	mov    $0x1,%dl
4cac05:	8b c6                	mov    %esi,%eax
4cac07:	e8 48 3a f6 ff       	call   0x42e654
4cac0c:	8b ce                	mov    %esi,%ecx
4cac0e:	8b 55 f8             	mov    -0x8(%ebp),%edx
4cac11:	a1 00 b3 6a 00       	mov    0x6ab300,%eax
4cac16:	e8 f5 b2 f8 ff       	call   0x455f10
4cac1b:	8b 55 0c             	mov    0xc(%ebp),%edx
4cac1e:	b1 01                	mov    $0x1,%cl
4cac20:	8b 45 fc             	mov    -0x4(%ebp),%eax
4cac23:	e8 48 e6 ff ff       	call   0x4c9270
4cac28:	8b d0                	mov    %eax,%edx
4cac2a:	8b 43 14             	mov    0x14(%ebx),%eax
4cac2d:	e8 52 d6 f5 ff       	call   0x428284