4c9e44:	89 45 c0             	mov    %eax,-0x40(%ebp)
4c9e47:	8d 55 ac             	lea    -0x54(%ebp),%edx
4c9e4a:	b9 02 00 00 00       	mov    $0x2,%ecx
4c9e4f:	8b c6                	mov    %esi,%eax
4c9e51:	e8 aa e9 f5 ff       	call   0x428800
4c9e56:	8a 45 e7             	mov    -0x19(%ebp),%al
4c9e59:	88 43 09             	mov    %al,0x9(%ebx)
4c9e5c:	5f                   	pop    %edi
4c9e5d:	5e                   	pop    %esi
4c9e5e:	5b                   	pop    %ebx
4c9e5f:	8b e5                	mov    %ebp,%esp
4c9e61:	5d                   	pop    %ebp
4c9e62:	c2 08 00             	ret    $0x8
4c9e65:	8d 40 00             	lea    0x0(%eax),%eax
4c9e68:	55                   	push   %ebp
4c9e69:	8b ec                	mov    %esp,%ebp
4c9e6b:	83 c4 e8             	add    $0xffffffe8,%esp
4c9e6e:	53                   	push   %ebx
4c9e6f:	56                   	push   %esi
4c9e70:	57                   	push   %edi
4c9e71:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c9e74:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c9e77:	8b f0                	mov    %eax,%esi
4c9e79:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c9e7c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9e7f:	56                   	push   %esi
4c9e80:	8b f0                	mov    %eax,%esi
4c9e82:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c9e85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e88:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9e89:	5e                   	pop    %esi
4c9e8a:	53                   	push   %ebx
4c9e8b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4c9e8e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c9e91:	8b c6                	mov    %esi,%eax
4c9e93:	8b 38                	mov    (%eax),%edi
4c9e95:	ff 57 54             	call   *0x54(%edi)
4c9e98:	ba 3c 00 00 00       	mov    $0x3c,%edx
4c9e9d:	8b c6                	mov    %esi,%eax
4c9e9f:	8b 08                	mov    (%eax),%ecx
4c9ea1:	ff 91 80 00 00 00    	call   *0x80(%ecx)
4c9ea7:	8b f8                	mov    %eax,%edi
4c9ea9:	8b c7                	mov    %edi,%eax
4c9eab:	f7 d8                	neg    %eax
4c9ead:	50                   	push   %eax
4c9eae:	8b d7                	mov    %edi,%edx
4c9eb0:	f7 da                	neg    %edx
4c9eb2:	50                   	push   %eax
4c9eb3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9eb6:	50                   	push   %eax
4c9eb7:	e8 cc dc f3 ff       	call   0x407b88
4c9ebc:	8b 03                	mov    (%ebx),%eax
4c9ebe:	8b d0                	mov    %eax,%edx
4c9ec0:	81 e2 00 10 00 00    	and    $0x1000,%edx
4c9ec6:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4c9ecc:	75 0c                	jne    0x4c9eda
4c9ece:	25 00 02 00 00       	and    $0x200,%eax
4c9ed3:	3d 00 02 00 00       	cmp    $0x200,%eax
4c9ed8:	74 04                	je     0x4c9ede
4c9eda:	33 c0                	xor    %eax,%eax
4c9edc:	eb 02                	jmp    0x4c9ee0
4c9ede:	b0 01                	mov    $0x1,%al
4c9ee0:	0a 43 08             	or     0x8(%ebx),%al
4c9ee3:	75 18                	jne    0x4c9efd
4c9ee5:	6a 01                	push   $0x1
4c9ee7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9eea:	e8 d1 ed f5 ff       	call   0x428cc0
4c9eef:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9ef2:	8b 8e 90 00 00 00    	mov    0x90(%esi),%ecx
4c9ef8:	e8 2f ef fb ff       	call   0x488e2c
4c9efd:	8b 45 08             	mov    0x8(%ebp),%eax
4c9f00:	8b 40 04             	mov    0x4(%eax),%eax
4c9f03:	85 c0                	test   %eax,%eax
4c9f05:	7e 08                	jle    0x4c9f0f
4c9f07:	8b 55 08             	mov    0x8(%ebp),%edx
4c9f0a:	2b c7                	sub    %edi,%eax
4c9f0c:	29 45 f0             	sub    %eax,-0x10(%ebp)
4c9f0f:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c9f13:	74 52                	je     0x4c9f67
4c9f15:	8b 03                	mov    (%ebx),%eax
4c9f17:	25 00 10 00 00       	and    $0x1000,%eax
4c9f1c:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c9f21:	74 29                	je     0x4c9f4c
4c9f23:	8b d3                	mov    %ebx,%edx
4c9f25:	b1 02                	mov    $0x2,%cl
4c9f27:	8b c6                	mov    %esi,%eax
4c9f29:	e8 42 f3 ff ff       	call   0x4c9270
4c9f2e:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c9f33:	75 17                	jne    0x4c9f4c
4c9f35:	6a 01                	push   $0x1
4c9f37:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f3a:	e8 81 ed f5 ff       	call   0x428cc0
4c9f3f:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f42:	8b 4e 0c             	mov    0xc(%esi),%ecx
4c9f45:	e8 e2 ee fb ff       	call   0x488e2c
4c9f4a:	eb 1b                	jmp    0x4c9f67
4c9f4c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f4f:	8b 40 14             	mov    0x14(%eax),%eax
4c9f52:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c9f57:	e8 28 e3 f5 ff       	call   0x428284
4c9f5c:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f5f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f62:	e8 d1 e7 f5 ff       	call   0x428738
4c9f67:	6a ff                	push   $0xffffffff
4c9f69:	6a ff                	push   $0xffffffff
4c9f6b:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9f6e:	50                   	push   %eax
4c9f6f:	e8 14 dc f3 ff       	call   0x407b88
4c9f74:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
4c9f78:	74 73                	je     0x4c9fed
4c9f7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f7d:	8b 40 14             	mov    0x14(%eax),%eax
4c9f80:	ba 05 00 00 80       	mov    $0x80000005,%edx
4c9f85:	e8 fa e2 f5 ff       	call   0x428284
4c9f8a:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9f8d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9f90:	e8 67 e7 f5 ff       	call   0x4286fc
4c9f95:	8b 03                	mov    (%ebx),%eax
4c9f97:	25 00 10 00 00       	and    $0x1000,%eax
4c9f9c:	3d 00 10 00 00       	cmp    $0x1000,%eax
4c9fa1:	74 4a                	je     0x4c9fed
4c9fa3:	8b d3                	mov    %ebx,%edx
4c9fa5:	b1 02                	mov    $0x2,%cl
4c9fa7:	8b c6                	mov    %esi,%eax
4c9fa9:	e8 c2 f2 ff ff       	call   0x4c9270
4c9fae:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4c9fb3:	75 38                	jne    0x4c9fed
4c9fb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9fb8:	8b 40 14             	mov    0x14(%eax),%eax
4c9fbb:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
4c9fc0:	e8 bf e2 f5 ff       	call   0x428284
4c9fc5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9fc8:	56                   	push   %esi
4c9fc9:	57                   	push   %edi
4c9fca:	8b f0                	mov    %eax,%esi
4c9fcc:	8d 7d e8             	lea    -0x18(%ebp),%edi
4c9fcf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4c9fd3:	5f                   	pop    %edi
4c9fd4:	5e                   	pop    %esi
4c9fd5:	6a ff                	push   $0xffffffff
4c9fd7:	6a ff                	push   $0xffffffff
4c9fd9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4c9fdc:	50                   	push   %eax
4c9fdd:	e8 a6 db f3 ff       	call   0x407b88
4c9fe2:	8d 55 e8             	lea    -0x18(%ebp),%edx
4c9fe5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c9fe8:	e8 4b e7 f5 ff       	call   0x428738
4c9fed:	8b 45 08             	mov    0x8(%ebp),%eax
4c9ff0:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4c9ff4:	7e 42                	jle    0x4ca038
4c9ff6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c9ff9:	56                   	push   %esi
4c9ffa:	57                   	push   %edi
4c9ffb:	8b f0                	mov    %eax,%esi
4c9ffd:	8d 7d e8             	lea    -0x18(%ebp),%edi
4ca000:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca001:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca002:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca003:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca004:	5f                   	pop    %edi
4ca005:	5e                   	pop    %esi
4ca006:	8b c7                	mov    %edi,%eax
4ca008:	f7 d8                	neg    %eax
4ca00a:	50                   	push   %eax
4ca00b:	f7 df                	neg    %edi
4ca00d:	50                   	push   %eax
4ca00e:	8d 45 e8             	lea    -0x18(%ebp),%eax
4ca011:	50                   	push   %eax
4ca012:	e8 71 db f3 ff       	call   0x407b88
4ca017:	8b 45 08             	mov    0x8(%ebp),%eax
4ca01a:	8b 55 f0             	mov    -0x10(%ebp),%edx
4ca01d:	2b 50 04             	sub    0x4(%eax),%edx
4ca020:	89 55 e8             	mov    %edx,-0x18(%ebp)
4ca023:	53                   	push   %ebx
4ca024:	8b 45 08             	mov    0x8(%ebp),%eax
4ca027:	83 c0 10             	add    $0x10,%eax
4ca02a:	50                   	push   %eax
4ca02b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4ca02e:	8b 55 fc             	mov    -0x4(%ebp),%edx
4ca031:	8b c6                	mov    %esi,%eax
4ca033:	8b 18                	mov    (%eax),%ebx
4ca035:	ff 53 40             	call   *0x40(%ebx)
4ca038:	5f                   	pop    %edi
4ca039:	5e                   	pop    %esi
4ca03a:	5b                   	pop    %ebx
4ca03b:	8b e5                	mov    %ebp,%esp
4ca03d:	5d                   	pop    %ebp
4ca03e:	c2 08 00             	ret    $0x8
4ca041:	8d 40 00             	lea    0x0(%eax),%eax
4ca044:	55                   	push   %ebp
4ca045:	8b ec                	mov    %esp,%ebp
4ca047:	83 c4 c8             	add    $0xffffffc8,%esp
4ca04a:	53                   	push   %ebx
4ca04b:	56                   	push   %esi
4ca04c:	57                   	push   %edi
4ca04d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4ca050:	8b fa                	mov    %edx,%edi
4ca052:	89 45 fc             	mov    %eax,-0x4(%ebp)
4ca055:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4ca058:	8b 1b                	mov    (%ebx),%ebx
4ca05a:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ca05d:	03 58 08             	add    0x8(%eax),%ebx
4ca060:	d1 fb                	sar    $1,%ebx
4ca062:	79 03                	jns    0x4ca067
4ca064:	83 d3 00             	adc    $0x0,%ebx
4ca067:	8b 75 f8             	mov    -0x8(%ebp),%esi
4ca06a:	8b 76 04             	mov    0x4(%esi),%esi
4ca06d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ca070:	03 70 0c             	add    0xc(%eax),%esi
4ca073:	d1 fe                	sar    $1,%esi
4ca075:	79 03                	jns    0x4ca07a
4ca077:	83 d6 00             	adc    $0x0,%esi
4ca07a:	4e                   	dec    %esi
4ca07b:	8b 55 08             	mov    0x8(%ebp),%edx
4ca07e:	b1 01                	mov    $0x1,%cl
4ca080:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca083:	e8 e8 f1 ff ff       	call   0x4c9270
4ca088:	8b d0                	mov    %eax,%edx
4ca08a:	8b 47 10             	mov    0x10(%edi),%eax
4ca08d:	e8 f2 de f5 ff       	call   0x427f84
4ca092:	8b 47 10             	mov    0x10(%edi),%eax
4ca095:	e8 e2 de f5 ff       	call   0x427f7c
4ca09a:	8b d0                	mov    %eax,%edx
4ca09c:	8b 47 14             	mov    0x14(%edi),%eax
4ca09f:	e8 e0 e1 f5 ff       	call   0x428284
4ca0a4:	8b 45 08             	mov    0x8(%ebp),%eax
4ca0a7:	80 78 18 00          	cmpb   $0x0,0x18(%eax)
4ca0ab:	74 60                	je     0x4ca10d
4ca0ad:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4ca0b0:	8d 56 02             	lea    0x2(%esi),%edx
4ca0b3:	8b c3                	mov    %ebx,%eax
4ca0b5:	e8 92 05 f5 ff       	call   0x41a64c
4ca0ba:	8b 45 d8             	mov    -0x28(%ebp),%eax
4ca0bd:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ca0c0:	8b 45 dc             	mov    -0x24(%ebp),%eax
4ca0c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4ca0c6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4ca0c9:	8b d6                	mov    %esi,%edx
4ca0cb:	83 ea 02             	sub    $0x2,%edx
4ca0ce:	8b c3                	mov    %ebx,%eax
4ca0d0:	e8 77 05 f5 ff       	call   0x41a64c
4ca0d5:	8b 45 d0             	mov    -0x30(%ebp),%eax
4ca0d8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ca0db:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4ca0de:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ca0e1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4ca0e4:	8b c3                	mov    %ebx,%eax
4ca0e6:	83 e8 02             	sub    $0x2,%eax
4ca0e9:	8b d6                	mov    %esi,%edx
4ca0eb:	e8 5c 05 f5 ff       	call   0x41a64c
4ca0f0:	8b 45 c8             	mov    -0x38(%ebp),%eax
4ca0f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ca0f6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4ca0f9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ca0fc:	8d 55 e0             	lea    -0x20(%ebp),%edx
4ca0ff:	b9 02 00 00 00       	mov    $0x2,%ecx
4ca104:	8b c7                	mov    %edi,%eax
4ca106:	e8 f5 e6 f5 ff       	call   0x428800
4ca10b:	eb 5c                	jmp    0x4ca169
4ca10d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4ca110:	8b c3                	mov    %ebx,%eax
4ca112:	83 e8 02             	sub    $0x2,%eax
4ca115:	8b d6                	mov    %esi,%edx
4ca117:	e8 30 05 f5 ff       	call   0x41a64c
4ca11c:	8b 45 d8             	mov    -0x28(%ebp),%eax
4ca11f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4ca122:	8b 45 dc             	mov    -0x24(%ebp),%eax
4ca125:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4ca128:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4ca12b:	8d 43 02             	lea    0x2(%ebx),%eax
4ca12e:	8b d6                	mov    %esi,%edx
4ca130:	e8 17 05 f5 ff       	call   0x41a64c
4ca135:	8b 45 d0             	mov    -0x30(%ebp),%eax
4ca138:	89 45 e8             	mov    %eax,-0x18(%ebp)
4ca13b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4ca13e:	89 45 ec             	mov    %eax,-0x14(%ebp)
4ca141:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4ca144:	8d 56 02             	lea    0x2(%esi),%edx
4ca147:	8b c3                	mov    %ebx,%eax
4ca149:	e8 fe 04 f5 ff       	call   0x41a64c
4ca14e:	8b 45 c8             	mov    -0x38(%ebp),%eax
4ca151:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ca154:	8b 45 cc             	mov    -0x34(%ebp),%eax
4ca157:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ca15a:	8d 55 e0             	lea    -0x20(%ebp),%edx
4ca15d:	b9 02 00 00 00       	mov    $0x2,%ecx
4ca162:	8b c7                	mov    %edi,%eax
4ca164:	e8 97 e6 f5 ff       	call   0x428800
4ca169:	5f                   	pop    %edi
4ca16a:	5e                   	pop    %esi
4ca16b:	5b                   	pop    %ebx
4ca16c:	8b e5                	mov    %ebp,%esp
4ca16e:	5d                   	pop    %ebp
4ca16f:	c2 04 00             	ret    $0x4
4ca172:	8b c0                	mov    %eax,%eax
4ca174:	55                   	push   %ebp
4ca175:	8b ec                	mov    %esp,%ebp
4ca177:	83 c4 ec             	add    $0xffffffec,%esp
4ca17a:	53                   	push   %ebx
4ca17b:	56                   	push   %esi
4ca17c:	57                   	push   %edi
4ca17d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4ca180:	8b f2                	mov    %edx,%esi
4ca182:	8b f8                	mov    %eax,%edi
4ca184:	8b 5d 08             	mov    0x8(%ebp),%ebx
4ca187:	8b 45 fc             	mov    -0x4(%ebp),%eax
4ca18a:	56                   	push   %esi
4ca18b:	57                   	push   %edi
4ca18c:	8b f0                	mov    %eax,%esi
4ca18e:	8d 7d ec             	lea    -0x14(%ebp),%edi
4ca191:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca192:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca193:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca194:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4ca195:	5f                   	pop    %edi
4ca196:	5e                   	pop    %esi
4ca197:	f6 43 04 10          	testb  $0x10,0x4(%ebx)
4ca19b:	74 4a                	je     0x4ca1e7
4ca19d:	80 7b 0b 00          	cmpb   $0x0,0xb(%ebx)
4ca1a1:	75 44                	jne    0x4ca1e7
4ca1a3:	b9 64 00 00 00       	mov    $0x64,%ecx
4ca1a8:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
4ca1ad:	b8 10 00 00 80       	mov    $0x80000010,%eax
4ca1b2:	e8 e1 e3 fb ff       	call   0x488598
4ca1b7:	50                   	push   %eax
4ca1b8:	8b c6                	mov    %esi,%eax
4ca1ba:	e8 01 eb f5 ff       	call   0x428cc0
4ca1bf:	50                   	push   %eax
4ca1c0:	e8 23 d4 f3 ff       	call   0x4075e8
4ca1c5:	8b d0                	mov    %eax,%edx
4ca1c7:	8b 46 14             	mov    0x14(%esi),%eax
4ca1ca:	e8 b5 e0 f5 ff       	call   0x428284
4ca1cf:	80 7b 19 03          	cmpb   $0x3,0x19(%ebx)
4ca1d3:	75 03                	jne    0x4ca1d8
4ca1d5:	ff 4d ec             	decl   -0x14(%ebp)
4ca1d8:	8d 55 ec             	lea    -0x14(%ebp),%edx
4ca1db:	8b c6                	mov    %esi,%eax
4ca1dd:	e8 56 e5 f5 ff       	call   0x428738
4ca1e2:	e9 83 00 00 00       	jmp    0x4ca26a
4ca1e7:	6a 01                	push   $0x1
4ca1e9:	8b d3                	mov    %ebx,%edx
4ca1eb:	b1 02                	mov    $0x2,%cl
4ca1ed:	8b c7                	mov    %edi,%eax
4ca1ef:	e8 ac ef ff ff       	call   0x4c91a0
4ca1f4:	50                   	push   %eax