57b1a3:	89 0b                	mov    %ecx,(%ebx)
57b1a5:	8b da                	mov    %edx,%ebx
57b1a7:	83 eb 2c             	sub    $0x2c,%ebx
57b1aa:	89 0b                	mov    %ecx,(%ebx)
57b1ac:	8b da                	mov    %edx,%ebx
57b1ae:	83 eb 28             	sub    $0x28,%ebx
57b1b1:	89 0b                	mov    %ecx,(%ebx)
57b1b3:	8b da                	mov    %edx,%ebx
57b1b5:	83 eb 24             	sub    $0x24,%ebx
57b1b8:	89 0b                	mov    %ecx,(%ebx)
57b1ba:	8b da                	mov    %edx,%ebx
57b1bc:	83 eb 20             	sub    $0x20,%ebx
57b1bf:	89 0b                	mov    %ecx,(%ebx)
57b1c1:	8b da                	mov    %edx,%ebx
57b1c3:	83 eb 1c             	sub    $0x1c,%ebx
57b1c6:	89 0b                	mov    %ecx,(%ebx)
57b1c8:	8b da                	mov    %edx,%ebx
57b1ca:	83 eb 18             	sub    $0x18,%ebx
57b1cd:	89 0b                	mov    %ecx,(%ebx)
57b1cf:	8b da                	mov    %edx,%ebx
57b1d1:	83 eb 14             	sub    $0x14,%ebx
57b1d4:	89 0b                	mov    %ecx,(%ebx)
57b1d6:	8b da                	mov    %edx,%ebx
57b1d8:	83 eb 10             	sub    $0x10,%ebx
57b1db:	89 0b                	mov    %ecx,(%ebx)
57b1dd:	8b da                	mov    %edx,%ebx
57b1df:	83 eb 0c             	sub    $0xc,%ebx
57b1e2:	89 0b                	mov    %ecx,(%ebx)
57b1e4:	83 ea 08             	sub    $0x8,%edx
57b1e7:	89 0a                	mov    %ecx,(%edx)
57b1e9:	8b d0                	mov    %eax,%edx
57b1eb:	83 ea 04             	sub    $0x4,%edx
57b1ee:	89 0a                	mov    %ecx,(%edx)
57b1f0:	83 e8 40             	sub    $0x40,%eax
57b1f3:	83 ee 10             	sub    $0x10,%esi
57b1f6:	85 f6                	test   %esi,%esi
57b1f8:	7d 86                	jge    0x57b180
57b1fa:	83 c6 10             	add    $0x10,%esi
57b1fd:	85 f6                	test   %esi,%esi
57b1ff:	7e 0a                	jle    0x57b20b
57b201:	83 e8 04             	sub    $0x4,%eax
57b204:	89 08                	mov    %ecx,(%eax)
57b206:	4e                   	dec    %esi
57b207:	85 f6                	test   %esi,%esi
57b209:	7f f6                	jg     0x57b201
57b20b:	5e                   	pop    %esi
57b20c:	5b                   	pop    %ebx
57b20d:	c3                   	ret
57b20e:	8b c0                	mov    %eax,%eax
57b210:	53                   	push   %ebx
57b211:	56                   	push   %esi
57b212:	8b d8                	mov    %eax,%ebx
57b214:	8b 43 2c             	mov    0x2c(%ebx),%eax
57b217:	85 c0                	test   %eax,%eax
57b219:	7e 15                	jle    0x57b230
57b21b:	8b c8                	mov    %eax,%ecx
57b21d:	8d 93 7c 75 00 00    	lea    0x757c(%ebx),%edx
57b223:	8b 43 04             	mov    0x4(%ebx),%eax
57b226:	8b 30                	mov    (%eax),%esi
57b228:	ff 56 0c             	call   *0xc(%esi)
57b22b:	33 c0                	xor    %eax,%eax
57b22d:	89 43 2c             	mov    %eax,0x2c(%ebx)
57b230:	5e                   	pop    %esi
57b231:	5b                   	pop    %ebx
57b232:	c3                   	ret
57b233:	90                   	nop
57b234:	8b 48 2c             	mov    0x2c(%eax),%ecx
57b237:	88 94 08 7c 75 00 00 	mov    %dl,0x757c(%eax,%ecx,1)
57b23e:	ff 40 2c             	incl   0x2c(%eax)
57b241:	81 78 2c fe 00 00 00 	cmpl   $0xfe,0x2c(%eax)
57b248:	7c 05                	jl     0x57b24f
57b24a:	e8 c1 ff ff ff       	call   0x57b210
57b24f:	c3                   	ret
57b250:	53                   	push   %ebx
57b251:	56                   	push   %esi
57b252:	8b f2                	mov    %edx,%esi
57b254:	8b d8                	mov    %eax,%ebx
57b256:	8b 83 78 75 00 00    	mov    0x7578(%ebx),%eax
57b25c:	8b c8                	mov    %eax,%ecx
57b25e:	ba 01 00 00 00       	mov    $0x1,%edx
57b263:	d3 e2                	shl    %cl,%edx
57b265:	4a                   	dec    %edx
57b266:	b9 20 00 00 00       	mov    $0x20,%ecx
57b26b:	2b c8                	sub    %eax,%ecx
57b26d:	d3 e2                	shl    %cl,%edx
57b26f:	21 93 74 75 00 00    	and    %edx,0x7574(%ebx)
57b275:	8b 83 78 75 00 00    	mov    0x7578(%ebx),%eax
57b27b:	85 c0                	test   %eax,%eax
57b27d:	7e 16                	jle    0x57b295
57b27f:	b9 20 00 00 00       	mov    $0x20,%ecx
57b284:	2b 4b 14             	sub    0x14(%ebx),%ecx
57b287:	2b c8                	sub    %eax,%ecx
57b289:	8b c6                	mov    %esi,%eax
57b28b:	d3 e0                	shl    %cl,%eax
57b28d:	09 83 74 75 00 00    	or     %eax,0x7574(%ebx)
57b293:	eb 12                	jmp    0x57b2a7
57b295:	b9 20 00 00 00       	mov    $0x20,%ecx
57b29a:	2b 4b 14             	sub    0x14(%ebx),%ecx
57b29d:	8b c6                	mov    %esi,%eax
57b29f:	d3 e0                	shl    %cl,%eax
57b2a1:	89 83 74 75 00 00    	mov    %eax,0x7574(%ebx)
57b2a7:	8b 43 14             	mov    0x14(%ebx),%eax
57b2aa:	01 83 78 75 00 00    	add    %eax,0x7578(%ebx)
57b2b0:	eb 24                	jmp    0x57b2d6
57b2b2:	8b 93 74 75 00 00    	mov    0x7574(%ebx),%edx
57b2b8:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
57b2be:	c1 ea 18             	shr    $0x18,%edx
57b2c1:	8b c3                	mov    %ebx,%eax
57b2c3:	e8 6c ff ff ff       	call   0x57b234
57b2c8:	c1 a3 74 75 00 00 08 	shll   $0x8,0x7574(%ebx)
57b2cf:	83 ab 78 75 00 00 08 	subl   $0x8,0x7578(%ebx)
57b2d6:	83 bb 78 75 00 00 08 	cmpl   $0x8,0x7578(%ebx)
57b2dd:	7d d3                	jge    0x57b2b2
57b2df:	8b 43 24             	mov    0x24(%ebx),%eax
57b2e2:	8b 53 18             	mov    0x18(%ebx),%edx
57b2e5:	4a                   	dec    %edx
57b2e6:	3b c2                	cmp    %edx,%eax
57b2e8:	7f 06                	jg     0x57b2f0
57b2ea:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
57b2ee:	74 44                	je     0x57b334
57b2f0:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
57b2f4:	74 1d                	je     0x57b313
57b2f6:	8b 83 7c 76 00 00    	mov    0x767c(%ebx),%eax
57b2fc:	89 43 14             	mov    %eax,0x14(%ebx)
57b2ff:	8b c8                	mov    %eax,%ecx
57b301:	b8 01 00 00 00       	mov    $0x1,%eax
57b306:	d3 e0                	shl    %cl,%eax
57b308:	48                   	dec    %eax
57b309:	89 43 18             	mov    %eax,0x18(%ebx)
57b30c:	33 c0                	xor    %eax,%eax
57b30e:	89 43 28             	mov    %eax,0x28(%ebx)
57b311:	eb 21                	jmp    0x57b334
57b313:	ff 43 14             	incl   0x14(%ebx)
57b316:	8b 43 14             	mov    0x14(%ebx),%eax
57b319:	83 f8 0c             	cmp    $0xc,%eax
57b31c:	75 09                	jne    0x57b327
57b31e:	c7 43 18 ff 0f 00 00 	movl   $0xfff,0x18(%ebx)
57b325:	eb 0d                	jmp    0x57b334
57b327:	8b c8                	mov    %eax,%ecx
57b329:	b8 01 00 00 00       	mov    $0x1,%eax
57b32e:	d3 e0                	shl    %cl,%eax
57b330:	48                   	dec    %eax
57b331:	89 43 18             	mov    %eax,0x18(%ebx)
57b334:	3b 73 20             	cmp    0x20(%ebx),%esi
57b337:	75 36                	jne    0x57b36f
57b339:	eb 24                	jmp    0x57b35f
57b33b:	8b 93 74 75 00 00    	mov    0x7574(%ebx),%edx
57b341:	81 e2 00 00 00 ff    	and    $0xff000000,%edx
57b347:	c1 ea 18             	shr    $0x18,%edx
57b34a:	8b c3                	mov    %ebx,%eax
57b34c:	e8 e3 fe ff ff       	call   0x57b234
57b351:	c1 a3 74 75 00 00 08 	shll   $0x8,0x7574(%ebx)
57b358:	83 ab 78 75 00 00 08 	subl   $0x8,0x7578(%ebx)
57b35f:	83 bb 78 75 00 00 00 	cmpl   $0x0,0x7578(%ebx)
57b366:	7f d3                	jg     0x57b33b
57b368:	8b c3                	mov    %ebx,%eax
57b36a:	e8 a1 fe ff ff       	call   0x57b210
57b36f:	5e                   	pop    %esi
57b370:	5b                   	pop    %ebx
57b371:	c3                   	ret
57b372:	8b c0                	mov    %eax,%eax
57b374:	53                   	push   %ebx
57b375:	8b d8                	mov    %eax,%ebx
57b377:	8b c3                	mov    %ebx,%eax
57b379:	ba 8b 13 00 00       	mov    $0x138b,%edx
57b37e:	e8 e9 fd ff ff       	call   0x57b16c
57b383:	8b 43 1c             	mov    0x1c(%ebx),%eax
57b386:	83 c0 02             	add    $0x2,%eax
57b389:	89 43 24             	mov    %eax,0x24(%ebx)
57b38c:	c7 43 28 01 00 00 00 	movl   $0x1,0x28(%ebx)
57b393:	8b 53 1c             	mov    0x1c(%ebx),%edx
57b396:	8b c3                	mov    %ebx,%eax
57b398:	e8 b3 fe ff ff       	call   0x57b250
57b39d:	5b                   	pop    %ebx
57b39e:	c3                   	ret
57b39f:	90                   	nop
57b3a0:	53                   	push   %ebx
57b3a1:	56                   	push   %esi
57b3a2:	8b f2                	mov    %edx,%esi
57b3a4:	8b d8                	mov    %eax,%ebx
57b3a6:	85 f6                	test   %esi,%esi
57b3a8:	0f 85 b1 00 00 00    	jne    0x57b45f
57b3ae:	8b 43 10             	mov    0x10(%ebx),%eax
57b3b1:	89 83 7c 76 00 00    	mov    %eax,0x767c(%ebx)
57b3b7:	33 c0                	xor    %eax,%eax
57b3b9:	89 43 28             	mov    %eax,0x28(%ebx)
57b3bc:	8b 43 10             	mov    0x10(%ebx),%eax
57b3bf:	89 43 14             	mov    %eax,0x14(%ebx)
57b3c2:	8b c8                	mov    %eax,%ecx
57b3c4:	b8 01 00 00 00       	mov    $0x1,%eax
57b3c9:	d3 e0                	shl    %cl,%eax
57b3cb:	48                   	dec    %eax
57b3cc:	89 43 18             	mov    %eax,0x18(%ebx)
57b3cf:	8b 4b 10             	mov    0x10(%ebx),%ecx
57b3d2:	49                   	dec    %ecx
57b3d3:	b8 01 00 00 00       	mov    $0x1,%eax
57b3d8:	d3 e0                	shl    %cl,%eax
57b3da:	89 43 1c             	mov    %eax,0x1c(%ebx)
57b3dd:	40                   	inc    %eax
57b3de:	89 43 20             	mov    %eax,0x20(%ebx)
57b3e1:	8b 43 1c             	mov    0x1c(%ebx),%eax
57b3e4:	83 c0 02             	add    $0x2,%eax
57b3e7:	89 43 24             	mov    %eax,0x24(%ebx)
57b3ea:	33 c0                	xor    %eax,%eax
57b3ec:	89 43 2c             	mov    %eax,0x2c(%ebx)
57b3ef:	8b c3                	mov    %ebx,%eax
57b3f1:	e8 5a fd ff ff       	call   0x57b150
57b3f6:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b3fc:	33 c0                	xor    %eax,%eax
57b3fe:	89 83 98 76 00 00    	mov    %eax,0x7698(%ebx)
57b404:	c7 83 80 76 00 00 8b 	movl   $0x138b,0x7680(%ebx)
57b40b:	13 00 00
57b40e:	eb 14                	jmp    0x57b424
57b410:	ff 83 98 76 00 00    	incl   0x7698(%ebx)
57b416:	8b 83 80 76 00 00    	mov    0x7680(%ebx),%eax
57b41c:	03 c0                	add    %eax,%eax
57b41e:	89 83 80 76 00 00    	mov    %eax,0x7680(%ebx)
57b424:	81 bb 80 76 00 00 00 	cmpl   $0x10000,0x7680(%ebx)
57b42b:	00 01 00
57b42e:	7c e0                	jl     0x57b410
57b430:	b8 08 00 00 00       	mov    $0x8,%eax
57b435:	2b 83 98 76 00 00    	sub    0x7698(%ebx),%eax
57b43b:	89 83 98 76 00 00    	mov    %eax,0x7698(%ebx)
57b441:	b8 8b 13 00 00       	mov    $0x138b,%eax
57b446:	89 83 94 76 00 00    	mov    %eax,0x7694(%ebx)
57b44c:	8b d0                	mov    %eax,%edx
57b44e:	8b c3                	mov    %ebx,%eax
57b450:	e8 17 fd ff ff       	call   0x57b16c
57b455:	8b 53 1c             	mov    0x1c(%ebx),%edx
57b458:	8b c3                	mov    %ebx,%eax
57b45a:	e8 f1 fd ff ff       	call   0x57b250
57b45f:	85 f6                	test   %esi,%esi
57b461:	74 09                	je     0x57b46c
57b463:	83 fe 01             	cmp    $0x1,%esi
57b466:	0f 85 3a 01 00 00    	jne    0x57b5a6
57b46c:	8b c3                	mov    %ebx,%eax
57b46e:	e8 dd fc ff ff       	call   0x57b150
57b473:	8b f0                	mov    %eax,%esi
57b475:	89 b3 88 76 00 00    	mov    %esi,0x7688(%ebx)
57b47b:	83 fe ff             	cmp    $0xffffffff,%esi
57b47e:	0f 84 3e 01 00 00    	je     0x57b5c2
57b484:	c1 e6 0c             	shl    $0xc,%esi
57b487:	03 b3 8c 76 00 00    	add    0x768c(%ebx),%esi
57b48d:	89 b3 80 76 00 00    	mov    %esi,0x7680(%ebx)
57b493:	8b 8b 98 76 00 00    	mov    0x7698(%ebx),%ecx
57b499:	8b 83 88 76 00 00    	mov    0x7688(%ebx),%eax
57b49f:	d3 e0                	shl    %cl,%eax
57b4a1:	33 83 8c 76 00 00    	xor    0x768c(%ebx),%eax
57b4a7:	89 83 84 76 00 00    	mov    %eax,0x7684(%ebx)
57b4ad:	8b 54 83 30          	mov    0x30(%ebx,%eax,4),%edx
57b4b1:	3b 93 80 76 00 00    	cmp    0x7680(%ebx),%edx
57b4b7:	75 10                	jne    0x57b4c9
57b4b9:	0f b7 84 43 5c 4e 00 	movzwl 0x4e5c(%ebx,%eax,2),%eax
57b4c0:	00
57b4c1:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b4c7:	eb a3                	jmp    0x57b46c
57b4c9:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b4cf:	83 7c 83 30 00       	cmpl   $0x0,0x30(%ebx,%eax,4)
57b4d4:	7c 78                	jl     0x57b54e
57b4d6:	8b 83 94 76 00 00    	mov    0x7694(%ebx),%eax
57b4dc:	2b 83 84 76 00 00    	sub    0x7684(%ebx),%eax
57b4e2:	89 83 90 76 00 00    	mov    %eax,0x7690(%ebx)
57b4e8:	83 bb 84 76 00 00 00 	cmpl   $0x0,0x7684(%ebx)
57b4ef:	75 0a                	jne    0x57b4fb
57b4f1:	c7 83 90 76 00 00 01 	movl   $0x1,0x7690(%ebx)
57b4f8:	00 00 00
57b4fb:	8b 83 90 76 00 00    	mov    0x7690(%ebx),%eax
57b501:	29 83 84 76 00 00    	sub    %eax,0x7684(%ebx)
57b507:	83 bb 84 76 00 00 00 	cmpl   $0x0,0x7684(%ebx)
57b50e:	7d 0c                	jge    0x57b51c
57b510:	8b 83 94 76 00 00    	mov    0x7694(%ebx),%eax
57b516:	01 83 84 76 00 00    	add    %eax,0x7684(%ebx)
57b51c:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b522:	8b 54 83 30          	mov    0x30(%ebx,%eax,4),%edx
57b526:	3b 93 80 76 00 00    	cmp    0x7680(%ebx),%edx
57b52c:	75 13                	jne    0x57b541
57b52e:	0f b7 84 43 5c 4e 00 	movzwl 0x4e5c(%ebx,%eax,2),%eax
57b535:	00
57b536:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b53c:	e9 2b ff ff ff       	jmp    0x57b46c
57b541:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b547:	83 7c 83 30 00       	cmpl   $0x0,0x30(%ebx,%eax,4)
57b54c:	7f ad                	jg     0x57b4fb
57b54e:	8b 93 8c 76 00 00    	mov    0x768c(%ebx),%edx
57b554:	8b c3                	mov    %ebx,%eax
57b556:	e8 f5 fc ff ff       	call   0x57b250
57b55b:	8b 83 88 76 00 00    	mov    0x7688(%ebx),%eax
57b561:	89 83 8c 76 00 00    	mov    %eax,0x768c(%ebx)
57b567:	81 7b 24 fe 0f 00 00 	cmpl   $0xffe,0x24(%ebx)
57b56e:	7d 2a                	jge    0x57b59a
57b570:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b576:	66 8b 53 24          	mov    0x24(%ebx),%dx
57b57a:	66 89 94 43 5c 4e 00 	mov    %dx,0x4e5c(%ebx,%eax,2)
57b581:	00
57b582:	ff 43 24             	incl   0x24(%ebx)
57b585:	8b 83 84 76 00 00    	mov    0x7684(%ebx),%eax
57b58b:	8b 93 80 76 00 00    	mov    0x7680(%ebx),%edx
57b591:	89 54 83 30          	mov    %edx,0x30(%ebx,%eax,4)
57b595:	e9 d2 fe ff ff       	jmp    0x57b46c
57b59a:	8b c3                	mov    %ebx,%eax
57b59c:	e8 d3 fd ff ff       	call   0x57b374
57b5a1:	e9 c6 fe ff ff       	jmp    0x57b46c
57b5a6:	83 fe 02             	cmp    $0x2,%esi
57b5a9:	75 17                	jne    0x57b5c2
57b5ab:	8b 93 8c 76 00 00    	mov    0x768c(%ebx),%edx
57b5b1:	8b c3                	mov    %ebx,%eax
57b5b3:	e8 98 fc ff ff       	call   0x57b250
57b5b8:	8b 53 20             	mov    0x20(%ebx),%edx
57b5bb:	8b c3                	mov    %ebx,%eax
57b5bd:	e8 8e fc ff ff       	call   0x57b250
57b5c2:	5e                   	pop    %esi
57b5c3:	5b                   	pop    %ebx
57b5c4:	c3                   	ret
57b5c5:	8d 40 00             	lea    0x0(%eax),%eax
57b5c8:	55                   	push   %ebp
57b5c9:	8b ec                	mov    %esp,%ebp
57b5cb:	83 c4 f8             	add    $0xfffffff8,%esp
57b5ce:	53                   	push   %ebx
57b5cf:	56                   	push   %esi
57b5d0:	57                   	push   %edi
57b5d1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
57b5d4:	89 55 fc             	mov    %edx,-0x4(%ebp)
57b5d7:	8b f8                	mov    %eax,%edi
57b5d9:	8b 75 08             	mov    0x8(%ebp),%esi
57b5dc:	83 3e 00             	cmpl   $0x0,(%esi)
57b5df:	75 48                	jne    0x57b629
57b5e1:	b8 9c 76 00 00       	mov    $0x769c,%eax
57b5e6:	e8 c1 71 e8 ff       	call   0x4027ac
57b5eb:	8b d8                	mov    %eax,%ebx
57b5ed:	89 7b 0c             	mov    %edi,0xc(%ebx)
57b5f0:	8b 45 f8             	mov    -0x8(%ebp),%eax
57b5f3:	89 43 04             	mov    %eax,0x4(%ebx)
57b5f6:	33 c0                	xor    %eax,%eax
57b5f8:	89 83 74 75 00 00    	mov    %eax,0x7574(%ebx)
57b5fe:	33 c0                	xor    %eax,%eax
57b600:	89 83 78 75 00 00    	mov    %eax,0x7578(%ebx)
57b606:	8b 45 fc             	mov    -0x4(%ebp),%eax
57b609:	89 43 08             	mov    %eax,0x8(%ebx)
57b60c:	33 c0                	xor    %eax,%eax
57b60e:	89 43 24             	mov    %eax,0x24(%ebx)
57b611:	33 c0                	xor    %eax,%eax
57b613:	89 03                	mov    %eax,(%ebx)
57b615:	c7 43 10 09 00 00 00 	movl   $0x9,0x10(%ebx)
57b61c:	8b c3                	mov    %ebx,%eax
57b61e:	33 d2                	xor    %edx,%edx
57b620:	e8 7b fd ff ff       	call   0x57b3a0
57b625:	89 1e                	mov    %ebx,(%esi)
57b627:	eb 3e                	jmp    0x57b667
57b629:	83 3e 00             	cmpl   $0x0,(%esi)
57b62c:	74 39                	je     0x57b667