49c03c:	cc                   	int3
49c03d:	cc                   	int3
49c03e:	cc                   	int3
49c03f:	cc                   	int3
49c040:	55                   	push   %ebp
49c041:	8b ec                	mov    %esp,%ebp
49c043:	56                   	push   %esi
49c044:	8b f1                	mov    %ecx,%esi
49c046:	8b 06                	mov    (%esi),%eax
49c048:	85 c0                	test   %eax,%eax
49c04a:	74 2c                	je     0x49c078
49c04c:	8b 4e 08             	mov    0x8(%esi),%ecx
49c04f:	2b c8                	sub    %eax,%ecx
49c051:	83 e1 f8             	and    $0xfffffff8,%ecx
49c054:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49c05a:	72 12                	jb     0x49c06e
49c05c:	8b 50 fc             	mov    -0x4(%eax),%edx
49c05f:	83 c1 23             	add    $0x23,%ecx
49c062:	2b c2                	sub    %edx,%eax
49c064:	83 c0 fc             	add    $0xfffffffc,%eax
49c067:	83 f8 1f             	cmp    $0x1f,%eax
49c06a:	77 28                	ja     0x49c094
49c06c:	8b c2                	mov    %edx,%eax
49c06e:	51                   	push   %ecx
49c06f:	50                   	push   %eax
49c070:	e8 e0 51 13 00       	call   0x5d1255
49c075:	83 c4 08             	add    $0x8,%esp
49c078:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c07b:	8b 45 0c             	mov    0xc(%ebp),%eax
49c07e:	89 0e                	mov    %ecx,(%esi)
49c080:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
49c083:	89 46 04             	mov    %eax,0x4(%esi)
49c086:	8b 45 10             	mov    0x10(%ebp),%eax
49c089:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
49c08c:	89 46 08             	mov    %eax,0x8(%esi)
49c08f:	5e                   	pop    %esi
49c090:	5d                   	pop    %ebp
49c091:	c2 0c 00             	ret    $0xc
49c094:	e8 57 a1 13 00       	call   0x5d61f0
49c099:	cc                   	int3
49c09a:	cc                   	int3
49c09b:	cc                   	int3
49c09c:	cc                   	int3
49c09d:	cc                   	int3
49c09e:	cc                   	int3
49c09f:	cc                   	int3
49c0a0:	55                   	push   %ebp
49c0a1:	8b ec                	mov    %esp,%ebp
49c0a3:	57                   	push   %edi
49c0a4:	8b f9                	mov    %ecx,%edi
49c0a6:	8b 07                	mov    (%edi),%eax
49c0a8:	85 c0                	test   %eax,%eax
49c0aa:	74 51                	je     0x49c0fd
49c0ac:	56                   	push   %esi
49c0ad:	57                   	push   %edi
49c0ae:	ff 77 04             	push   0x4(%edi)
49c0b1:	50                   	push   %eax
49c0b2:	e8 d9 d2 fc ff       	call   0x469390
49c0b7:	8b 4f 08             	mov    0x8(%edi),%ecx
49c0ba:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
49c0bf:	8b 37                	mov    (%edi),%esi
49c0c1:	83 c4 0c             	add    $0xc,%esp
49c0c4:	2b ce                	sub    %esi,%ecx
49c0c6:	f7 e9                	imul   %ecx
49c0c8:	c1 fa 02             	sar    $0x2,%edx
49c0cb:	8b c2                	mov    %edx,%eax
49c0cd:	c1 e8 1f             	shr    $0x1f,%eax
49c0d0:	03 c2                	add    %edx,%eax
49c0d2:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
49c0d5:	c1 e1 03             	shl    $0x3,%ecx
49c0d8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49c0de:	72 12                	jb     0x49c0f2
49c0e0:	8b 56 fc             	mov    -0x4(%esi),%edx
49c0e3:	83 c1 23             	add    $0x23,%ecx
49c0e6:	2b f2                	sub    %edx,%esi
49c0e8:	8d 46 fc             	lea    -0x4(%esi),%eax
49c0eb:	83 f8 1f             	cmp    $0x1f,%eax
49c0ee:	77 2f                	ja     0x49c11f
49c0f0:	8b f2                	mov    %edx,%esi
49c0f2:	51                   	push   %ecx
49c0f3:	56                   	push   %esi
49c0f4:	e8 5c 51 13 00       	call   0x5d1255
49c0f9:	83 c4 08             	add    $0x8,%esp
49c0fc:	5e                   	pop    %esi
49c0fd:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c100:	8b 45 0c             	mov    0xc(%ebp),%eax
49c103:	89 0f                	mov    %ecx,(%edi)
49c105:	8d 04 40             	lea    (%eax,%eax,2),%eax
49c108:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
49c10b:	89 47 04             	mov    %eax,0x4(%edi)
49c10e:	8b 45 10             	mov    0x10(%ebp),%eax
49c111:	8d 04 40             	lea    (%eax,%eax,2),%eax
49c114:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
49c117:	89 47 08             	mov    %eax,0x8(%edi)
49c11a:	5f                   	pop    %edi
49c11b:	5d                   	pop    %ebp
49c11c:	c2 0c 00             	ret    $0xc
49c11f:	e8 cc a0 13 00       	call   0x5d61f0
49c124:	cc                   	int3
49c125:	cc                   	int3
49c126:	cc                   	int3
49c127:	cc                   	int3
49c128:	cc                   	int3
49c129:	cc                   	int3
49c12a:	cc                   	int3
49c12b:	cc                   	int3
49c12c:	cc                   	int3
49c12d:	cc                   	int3
49c12e:	cc                   	int3
49c12f:	cc                   	int3
49c130:	55                   	push   %ebp
49c131:	8b ec                	mov    %esp,%ebp
49c133:	53                   	push   %ebx
49c134:	8b d9                	mov    %ecx,%ebx
49c136:	56                   	push   %esi
49c137:	8b 33                	mov    (%ebx),%esi
49c139:	85 f6                	test   %esi,%esi
49c13b:	74 4e                	je     0x49c18b
49c13d:	57                   	push   %edi
49c13e:	8b 7b 04             	mov    0x4(%ebx),%edi
49c141:	3b f7                	cmp    %edi,%esi
49c143:	74 1a                	je     0x49c15f
49c145:	8b 06                	mov    (%esi),%eax
49c147:	85 c0                	test   %eax,%eax
49c149:	74 0b                	je     0x49c156
49c14b:	6a 04                	push   $0x4
49c14d:	50                   	push   %eax
49c14e:	e8 02 51 13 00       	call   0x5d1255
49c153:	83 c4 08             	add    $0x8,%esp
49c156:	83 c6 04             	add    $0x4,%esi
49c159:	3b f7                	cmp    %edi,%esi
49c15b:	75 e8                	jne    0x49c145
49c15d:	8b 33                	mov    (%ebx),%esi
49c15f:	8b 43 08             	mov    0x8(%ebx),%eax
49c162:	2b c6                	sub    %esi,%eax
49c164:	83 e0 fc             	and    $0xfffffffc,%eax
49c167:	5f                   	pop    %edi
49c168:	3d 00 10 00 00       	cmp    $0x1000,%eax
49c16d:	72 12                	jb     0x49c181
49c16f:	8b 4e fc             	mov    -0x4(%esi),%ecx
49c172:	83 c0 23             	add    $0x23,%eax
49c175:	2b f1                	sub    %ecx,%esi
49c177:	83 c6 fc             	add    $0xfffffffc,%esi
49c17a:	83 fe 1f             	cmp    $0x1f,%esi
49c17d:	77 29                	ja     0x49c1a8
49c17f:	8b f1                	mov    %ecx,%esi
49c181:	50                   	push   %eax
49c182:	56                   	push   %esi
49c183:	e8 cd 50 13 00       	call   0x5d1255
49c188:	83 c4 08             	add    $0x8,%esp
49c18b:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c18e:	8b 45 0c             	mov    0xc(%ebp),%eax
49c191:	89 0b                	mov    %ecx,(%ebx)
49c193:	5e                   	pop    %esi
49c194:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c197:	89 43 04             	mov    %eax,0x4(%ebx)
49c19a:	8b 45 10             	mov    0x10(%ebp),%eax
49c19d:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c1a0:	89 43 08             	mov    %eax,0x8(%ebx)
49c1a3:	5b                   	pop    %ebx
49c1a4:	5d                   	pop    %ebp
49c1a5:	c2 0c 00             	ret    $0xc
49c1a8:	e8 43 a0 13 00       	call   0x5d61f0
49c1ad:	cc                   	int3
49c1ae:	cc                   	int3
49c1af:	cc                   	int3
49c1b0:	55                   	push   %ebp
49c1b1:	8b ec                	mov    %esp,%ebp
49c1b3:	56                   	push   %esi
49c1b4:	8b f1                	mov    %ecx,%esi
49c1b6:	8b 06                	mov    (%esi),%eax
49c1b8:	85 c0                	test   %eax,%eax
49c1ba:	74 3b                	je     0x49c1f7
49c1bc:	56                   	push   %esi
49c1bd:	ff 76 04             	push   0x4(%esi)
49c1c0:	50                   	push   %eax
49c1c1:	e8 ea c8 fd ff       	call   0x478ab0
49c1c6:	8b 4e 08             	mov    0x8(%esi),%ecx
49c1c9:	83 c4 0c             	add    $0xc,%esp
49c1cc:	8b 06                	mov    (%esi),%eax
49c1ce:	2b c8                	sub    %eax,%ecx
49c1d0:	83 e1 fc             	and    $0xfffffffc,%ecx
49c1d3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49c1d9:	72 12                	jb     0x49c1ed
49c1db:	8b 50 fc             	mov    -0x4(%eax),%edx
49c1de:	83 c1 23             	add    $0x23,%ecx
49c1e1:	2b c2                	sub    %edx,%eax
49c1e3:	83 c0 fc             	add    $0xfffffffc,%eax
49c1e6:	83 f8 1f             	cmp    $0x1f,%eax
49c1e9:	77 28                	ja     0x49c213
49c1eb:	8b c2                	mov    %edx,%eax
49c1ed:	51                   	push   %ecx
49c1ee:	50                   	push   %eax
49c1ef:	e8 61 50 13 00       	call   0x5d1255
49c1f4:	83 c4 08             	add    $0x8,%esp
49c1f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c1fa:	8b 45 0c             	mov    0xc(%ebp),%eax
49c1fd:	89 0e                	mov    %ecx,(%esi)
49c1ff:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c202:	89 46 04             	mov    %eax,0x4(%esi)
49c205:	8b 45 10             	mov    0x10(%ebp),%eax
49c208:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c20b:	89 46 08             	mov    %eax,0x8(%esi)
49c20e:	5e                   	pop    %esi
49c20f:	5d                   	pop    %ebp
49c210:	c2 0c 00             	ret    $0xc
49c213:	e8 d8 9f 13 00       	call   0x5d61f0
49c218:	cc                   	int3
49c219:	cc                   	int3
49c21a:	cc                   	int3
49c21b:	cc                   	int3
49c21c:	cc                   	int3
49c21d:	cc                   	int3
49c21e:	cc                   	int3
49c21f:	cc                   	int3
49c220:	55                   	push   %ebp
49c221:	8b ec                	mov    %esp,%ebp
49c223:	53                   	push   %ebx
49c224:	8b d9                	mov    %ecx,%ebx
49c226:	56                   	push   %esi
49c227:	8b 33                	mov    (%ebx),%esi
49c229:	85 f6                	test   %esi,%esi
49c22b:	74 4a                	je     0x49c277
49c22d:	57                   	push   %edi
49c22e:	8b 7b 04             	mov    0x4(%ebx),%edi
49c231:	3b f7                	cmp    %edi,%esi
49c233:	74 16                	je     0x49c24b
49c235:	8b 0e                	mov    (%esi),%ecx
49c237:	85 c9                	test   %ecx,%ecx
49c239:	74 07                	je     0x49c242
49c23b:	6a 01                	push   $0x1
49c23d:	e8 7e 23 fe ff       	call   0x47e5c0
49c242:	83 c6 04             	add    $0x4,%esi
49c245:	3b f7                	cmp    %edi,%esi
49c247:	75 ec                	jne    0x49c235
49c249:	8b 33                	mov    (%ebx),%esi
49c24b:	8b 43 08             	mov    0x8(%ebx),%eax
49c24e:	2b c6                	sub    %esi,%eax
49c250:	83 e0 fc             	and    $0xfffffffc,%eax
49c253:	5f                   	pop    %edi
49c254:	3d 00 10 00 00       	cmp    $0x1000,%eax
49c259:	72 12                	jb     0x49c26d
49c25b:	8b 4e fc             	mov    -0x4(%esi),%ecx
49c25e:	83 c0 23             	add    $0x23,%eax
49c261:	2b f1                	sub    %ecx,%esi
49c263:	83 c6 fc             	add    $0xfffffffc,%esi
49c266:	83 fe 1f             	cmp    $0x1f,%esi
49c269:	77 29                	ja     0x49c294
49c26b:	8b f1                	mov    %ecx,%esi
49c26d:	50                   	push   %eax
49c26e:	56                   	push   %esi
49c26f:	e8 e1 4f 13 00       	call   0x5d1255
49c274:	83 c4 08             	add    $0x8,%esp
49c277:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c27a:	8b 45 0c             	mov    0xc(%ebp),%eax
49c27d:	89 0b                	mov    %ecx,(%ebx)
49c27f:	5e                   	pop    %esi
49c280:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c283:	89 43 04             	mov    %eax,0x4(%ebx)
49c286:	8b 45 10             	mov    0x10(%ebp),%eax
49c289:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c28c:	89 43 08             	mov    %eax,0x8(%ebx)
49c28f:	5b                   	pop    %ebx
49c290:	5d                   	pop    %ebp
49c291:	c2 0c 00             	ret    $0xc
49c294:	e8 57 9f 13 00       	call   0x5d61f0
49c299:	cc                   	int3
49c29a:	cc                   	int3
49c29b:	cc                   	int3
49c29c:	cc                   	int3
49c29d:	cc                   	int3
49c29e:	cc                   	int3
49c29f:	cc                   	int3
49c2a0:	55                   	push   %ebp
49c2a1:	8b ec                	mov    %esp,%ebp
49c2a3:	56                   	push   %esi
49c2a4:	57                   	push   %edi
49c2a5:	8b f9                	mov    %ecx,%edi
49c2a7:	8b 37                	mov    (%edi),%esi
49c2a9:	85 f6                	test   %esi,%esi
49c2ab:	74 49                	je     0x49c2f6
49c2ad:	53                   	push   %ebx
49c2ae:	8b 5f 04             	mov    0x4(%edi),%ebx
49c2b1:	3b f3                	cmp    %ebx,%esi
49c2b3:	74 15                	je     0x49c2ca
49c2b5:	8b 0e                	mov    (%esi),%ecx
49c2b7:	85 c9                	test   %ecx,%ecx
49c2b9:	74 06                	je     0x49c2c1
49c2bb:	8b 01                	mov    (%ecx),%eax
49c2bd:	6a 01                	push   $0x1
49c2bf:	ff 10                	call   *(%eax)
49c2c1:	83 c6 04             	add    $0x4,%esi
49c2c4:	3b f3                	cmp    %ebx,%esi
49c2c6:	75 ed                	jne    0x49c2b5
49c2c8:	8b 37                	mov    (%edi),%esi
49c2ca:	8b 47 08             	mov    0x8(%edi),%eax
49c2cd:	2b c6                	sub    %esi,%eax
49c2cf:	83 e0 fc             	and    $0xfffffffc,%eax
49c2d2:	5b                   	pop    %ebx
49c2d3:	3d 00 10 00 00       	cmp    $0x1000,%eax
49c2d8:	72 12                	jb     0x49c2ec
49c2da:	8b 4e fc             	mov    -0x4(%esi),%ecx
49c2dd:	83 c0 23             	add    $0x23,%eax
49c2e0:	2b f1                	sub    %ecx,%esi
49c2e2:	83 c6 fc             	add    $0xfffffffc,%esi
49c2e5:	83 fe 1f             	cmp    $0x1f,%esi
49c2e8:	77 29                	ja     0x49c313
49c2ea:	8b f1                	mov    %ecx,%esi
49c2ec:	50                   	push   %eax
49c2ed:	56                   	push   %esi
49c2ee:	e8 62 4f 13 00       	call   0x5d1255
49c2f3:	83 c4 08             	add    $0x8,%esp
49c2f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
49c2f9:	8b 45 0c             	mov    0xc(%ebp),%eax
49c2fc:	89 0f                	mov    %ecx,(%edi)
49c2fe:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c301:	89 47 04             	mov    %eax,0x4(%edi)
49c304:	8b 45 10             	mov    0x10(%ebp),%eax
49c307:	8d 04 81             	lea    (%ecx,%eax,4),%eax
49c30a:	89 47 08             	mov    %eax,0x8(%edi)
49c30d:	5f                   	pop    %edi
49c30e:	5e                   	pop    %esi
49c30f:	5d                   	pop    %ebp
49c310:	c2 0c 00             	ret    $0xc
49c313:	e8 d8 9e 13 00       	call   0x5d61f0
49c318:	cc                   	int3
49c319:	cc                   	int3
49c31a:	cc                   	int3
49c31b:	cc                   	int3
49c31c:	cc                   	int3
49c31d:	cc                   	int3
49c31e:	cc                   	int3
49c31f:	cc                   	int3
49c320:	55                   	push   %ebp
49c321:	8b ec                	mov    %esp,%ebp
49c323:	57                   	push   %edi
49c324:	8b f9                	mov    %ecx,%edi
49c326:	8b 07                	mov    (%edi),%eax
49c328:	85 c0                	test   %eax,%eax
49c32a:	74 50                	je     0x49c37c
49c32c:	56                   	push   %esi
49c32d:	57                   	push   %edi
49c32e:	ff 77 04             	push   0x4(%edi)
49c331:	50                   	push   %eax
49c332:	e8 f9 c7 fd ff       	call   0x478b30
49c337:	8b 4f 08             	mov    0x8(%edi),%ecx
49c33a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
49c33f:	8b 37                	mov    (%edi),%esi
49c341:	83 c4 0c             	add    $0xc,%esp
49c344:	2b ce                	sub    %esi,%ecx