4891a2:	8b 01                	mov    (%ecx),%eax
4891a4:	85 c0                	test   %eax,%eax
4891a6:	7e 14                	jle    0x4891bc
4891a8:	48                   	dec    %eax
4891a9:	89 01                	mov    %eax,(%ecx)
4891ab:	8b 4e 20             	mov    0x20(%esi),%ecx
4891ae:	8b 11                	mov    (%ecx),%edx
4891b0:	8d 42 01             	lea    0x1(%edx),%eax
4891b3:	89 01                	mov    %eax,(%ecx)
4891b5:	88 1a                	mov    %bl,(%edx)
4891b7:	0f b6 c3             	movzbl %bl,%eax
4891ba:	eb 0b                	jmp    0x4891c7
4891bc:	8b 16                	mov    (%esi),%edx
4891be:	8b ce                	mov    %esi,%ecx
4891c0:	0f b6 c3             	movzbl %bl,%eax
4891c3:	50                   	push   %eax
4891c4:	ff 52 0c             	call   *0xc(%edx)
4891c7:	8b 74 24 1c          	mov    0x1c(%esp),%esi
4891cb:	83 f8 ff             	cmp    $0xffffffff,%eax
4891ce:	75 05                	jne    0x4891d5
4891d0:	c6 44 24 18 01       	movb   $0x1,0x18(%esp)
4891d5:	83 ef 01             	sub    $0x1,%edi
4891d8:	75 b9                	jne    0x489193
4891da:	5b                   	pop    %ebx
4891db:	8b 44 24 10          	mov    0x10(%esp),%eax
4891df:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4891e3:	5f                   	pop    %edi
4891e4:	89 70 04             	mov    %esi,0x4(%eax)
4891e7:	89 08                	mov    %ecx,(%eax)
4891e9:	5e                   	pop    %esi
4891ea:	c3                   	ret
4891eb:	cc                   	int3
4891ec:	cc                   	int3
4891ed:	cc                   	int3
4891ee:	cc                   	int3
4891ef:	cc                   	int3
4891f0:	cc                   	int3
4891f1:	cc                   	int3
4891f2:	cc                   	int3
4891f3:	cc                   	int3
4891f4:	cc                   	int3
4891f5:	cc                   	int3
4891f6:	cc                   	int3
4891f7:	cc                   	int3
4891f8:	cc                   	int3
4891f9:	cc                   	int3
4891fa:	cc                   	int3
4891fb:	cc                   	int3
4891fc:	cc                   	int3
4891fd:	cc                   	int3
4891fe:	cc                   	int3
4891ff:	cc                   	int3
489200:	cc                   	int3
489201:	cc                   	int3
489202:	cc                   	int3
489203:	cc                   	int3
489204:	cc                   	int3
489205:	cc                   	int3
489206:	cc                   	int3
489207:	cc                   	int3
489208:	cc                   	int3
489209:	cc                   	int3
48920a:	cc                   	int3
48920b:	cc                   	int3
48920c:	cc                   	int3
48920d:	cc                   	int3
48920e:	cc                   	int3
48920f:	cc                   	int3
489210:	56                   	push   %esi
489211:	8b f1                	mov    %ecx,%esi
489213:	57                   	push   %edi
489214:	8b 7e 04             	mov    0x4(%esi),%edi
489217:	85 ff                	test   %edi,%edi
489219:	74 35                	je     0x489250
48921b:	53                   	push   %ebx
48921c:	83 cb ff             	or     $0xffffffff,%ebx
48921f:	8b c3                	mov    %ebx,%eax
489221:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
489226:	75 15                	jne    0x48923d
489228:	8b 07                	mov    (%edi),%eax
48922a:	8b cf                	mov    %edi,%ecx
48922c:	ff 10                	call   *(%eax)
48922e:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
489233:	4b                   	dec    %ebx
489234:	75 07                	jne    0x48923d
489236:	8b 07                	mov    (%edi),%eax
489238:	8b cf                	mov    %edi,%ecx
48923a:	ff 50 04             	call   *0x4(%eax)
48923d:	8b 44 24 14          	mov    0x14(%esp),%eax
489241:	5b                   	pop    %ebx
489242:	89 46 04             	mov    %eax,0x4(%esi)
489245:	8b 44 24 0c          	mov    0xc(%esp),%eax
489249:	5f                   	pop    %edi
48924a:	89 06                	mov    %eax,(%esi)
48924c:	5e                   	pop    %esi
48924d:	c2 08 00             	ret    $0x8
489250:	8b 44 24 10          	mov    0x10(%esp),%eax
489254:	89 46 04             	mov    %eax,0x4(%esi)
489257:	8b 44 24 0c          	mov    0xc(%esp),%eax
48925b:	5f                   	pop    %edi
48925c:	89 06                	mov    %eax,(%esi)
48925e:	5e                   	pop    %esi
48925f:	c2 08 00             	ret    $0x8
489262:	cc                   	int3
489263:	cc                   	int3
489264:	cc                   	int3
489265:	cc                   	int3
489266:	cc                   	int3
489267:	cc                   	int3
489268:	cc                   	int3
489269:	cc                   	int3
48926a:	cc                   	int3
48926b:	cc                   	int3
48926c:	cc                   	int3
48926d:	cc                   	int3
48926e:	cc                   	int3
48926f:	cc                   	int3
489270:	cc                   	int3
489271:	cc                   	int3
489272:	cc                   	int3
489273:	cc                   	int3
489274:	cc                   	int3
489275:	cc                   	int3
489276:	cc                   	int3
489277:	cc                   	int3
489278:	cc                   	int3
489279:	cc                   	int3
48927a:	cc                   	int3
48927b:	cc                   	int3
48927c:	cc                   	int3
48927d:	cc                   	int3
48927e:	cc                   	int3
48927f:	cc                   	int3
489280:	83 ec 0c             	sub    $0xc,%esp
489283:	53                   	push   %ebx
489284:	56                   	push   %esi
489285:	57                   	push   %edi
489286:	8b 7c 24 20          	mov    0x20(%esp),%edi
48928a:	8b d9                	mov    %ecx,%ebx
48928c:	85 ff                	test   %edi,%edi
48928e:	74 23                	je     0x4892b3
489290:	8b 57 04             	mov    0x4(%edi),%edx
489293:	8d 77 04             	lea    0x4(%edi),%esi
489296:	85 d2                	test   %edx,%edx
489298:	74 19                	je     0x4892b3
48929a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4892a0:	8d 4a 01             	lea    0x1(%edx),%ecx
4892a3:	8b c2                	mov    %edx,%eax
4892a5:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
4892a9:	3b c2                	cmp    %edx,%eax
4892ab:	74 0f                	je     0x4892bc
4892ad:	8b 16                	mov    (%esi),%edx
4892af:	85 d2                	test   %edx,%edx
4892b1:	75 ed                	jne    0x4892a0
4892b3:	80 7c 24 24 00       	cmpb   $0x0,0x24(%esp)
4892b8:	74 0e                	je     0x4892c8
4892ba:	eb 15                	jmp    0x4892d1
4892bc:	57                   	push   %edi
4892bd:	ff 74 24 20          	push   0x20(%esp)
4892c1:	8b cb                	mov    %ebx,%ecx
4892c3:	e8 bd 1d fa ff       	call   0x42b085
4892c8:	5f                   	pop    %edi
4892c9:	5e                   	pop    %esi
4892ca:	5b                   	pop    %ebx
4892cb:	83 c4 0c             	add    $0xc,%esp
4892ce:	c2 0c 00             	ret    $0xc
4892d1:	68 28 06 cd 00       	push   $0xcd0628
4892d6:	8d 44 24 10          	lea    0x10(%esp),%eax
4892da:	c7 44 24 10 00 5f bd 	movl   $0xbd5f00,0x10(%esp)
4892e1:	00
4892e2:	0f 57 c0             	xorps  %xmm0,%xmm0
4892e5:	50                   	push   %eax
4892e6:	66 0f d6 44 24 18    	movq   %xmm0,0x18(%esp)
4892ec:	e8 9e 46 f9 ff       	call   0x41d98f
4892f1:	cc                   	int3
4892f2:	cc                   	int3
4892f3:	cc                   	int3
4892f4:	cc                   	int3
4892f5:	cc                   	int3
4892f6:	cc                   	int3
4892f7:	cc                   	int3
4892f8:	cc                   	int3
4892f9:	cc                   	int3
4892fa:	cc                   	int3
4892fb:	cc                   	int3
4892fc:	cc                   	int3
4892fd:	cc                   	int3
4892fe:	cc                   	int3
4892ff:	cc                   	int3
489300:	cc                   	int3
489301:	cc                   	int3
489302:	cc                   	int3
489303:	cc                   	int3
489304:	cc                   	int3
489305:	cc                   	int3
489306:	cc                   	int3
489307:	cc                   	int3
489308:	cc                   	int3
489309:	cc                   	int3
48930a:	cc                   	int3
48930b:	cc                   	int3
48930c:	cc                   	int3
48930d:	cc                   	int3
48930e:	cc                   	int3
48930f:	cc                   	int3
489310:	56                   	push   %esi
489311:	8b f1                	mov    %ecx,%esi
489313:	ff 76 08             	push   0x8(%esi)
489316:	e8 b7 c5 fa ff       	call   0x4358d2
48931b:	ff 76 10             	push   0x10(%esi)
48931e:	e8 af c5 fa ff       	call   0x4358d2
489323:	ff 76 14             	push   0x14(%esi)
489326:	e8 a7 c5 fa ff       	call   0x4358d2
48932b:	83 c4 0c             	add    $0xc,%esp
48932e:	5e                   	pop    %esi
48932f:	c3                   	ret
489330:	cc                   	int3
489331:	cc                   	int3
489332:	cc                   	int3
489333:	cc                   	int3
489334:	cc                   	int3
489335:	cc                   	int3
489336:	cc                   	int3
489337:	cc                   	int3
489338:	cc                   	int3
489339:	cc                   	int3
48933a:	cc                   	int3
48933b:	cc                   	int3
48933c:	cc                   	int3
48933d:	cc                   	int3
48933e:	cc                   	int3
48933f:	cc                   	int3
489340:	8b 44 24 04          	mov    0x4(%esp),%eax
489344:	8b 09                	mov    (%ecx),%ecx
489346:	89 08                	mov    %ecx,(%eax)
489348:	c2 04 00             	ret    $0x4
48934b:	cc                   	int3
48934c:	cc                   	int3
48934d:	cc                   	int3
48934e:	cc                   	int3
48934f:	cc                   	int3
489350:	8b 41 04             	mov    0x4(%ecx),%eax
489353:	8b 08                	mov    (%eax),%ecx
489355:	8b 44 24 04          	mov    0x4(%esp),%eax
489359:	89 08                	mov    %ecx,(%eax)
48935b:	c2 04 00             	ret    $0x4
48935e:	cc                   	int3
48935f:	cc                   	int3
489360:	cc                   	int3
489361:	cc                   	int3
489362:	cc                   	int3
489363:	cc                   	int3
489364:	cc                   	int3
489365:	cc                   	int3
489366:	cc                   	int3
489367:	cc                   	int3
489368:	cc                   	int3
489369:	cc                   	int3
48936a:	cc                   	int3
48936b:	cc                   	int3
48936c:	cc                   	int3
48936d:	cc                   	int3
48936e:	cc                   	int3
48936f:	cc                   	int3
489370:	8b 01                	mov    (%ecx),%eax
489372:	8b 08                	mov    (%eax),%ecx
489374:	8b 44 24 04          	mov    0x4(%esp),%eax
489378:	89 08                	mov    %ecx,(%eax)
48937a:	c2 04 00             	ret    $0x4
48937d:	cc                   	int3
48937e:	cc                   	int3
48937f:	cc                   	int3
489380:	8b 44 24 08          	mov    0x8(%esp),%eax
489384:	8b 48 04             	mov    0x4(%eax),%ecx
489387:	8b 44 24 0c          	mov    0xc(%esp),%eax
48938b:	89 01                	mov    %eax,(%ecx)
48938d:	8b 44 24 0c          	mov    0xc(%esp),%eax
489391:	8b 48 04             	mov    0x4(%eax),%ecx
489394:	8b 44 24 04          	mov    0x4(%esp),%eax
489398:	89 01                	mov    %eax,(%ecx)
48939a:	8b 44 24 04          	mov    0x4(%esp),%eax
48939e:	8b 48 04             	mov    0x4(%eax),%ecx
4893a1:	8b 44 24 08          	mov    0x8(%esp),%eax
4893a5:	89 01                	mov    %eax,(%ecx)
4893a7:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4893ab:	8b 44 24 0c          	mov    0xc(%esp),%eax
4893af:	8b 51 04             	mov    0x4(%ecx),%edx
4893b2:	8b 40 04             	mov    0x4(%eax),%eax
4893b5:	89 41 04             	mov    %eax,0x4(%ecx)
4893b8:	8b 44 24 08          	mov    0x8(%esp),%eax
4893bc:	8b 48 04             	mov    0x4(%eax),%ecx
4893bf:	8b 44 24 0c          	mov    0xc(%esp),%eax
4893c3:	89 48 04             	mov    %ecx,0x4(%eax)
4893c6:	8b 44 24 08          	mov    0x8(%esp),%eax
4893ca:	89 50 04             	mov    %edx,0x4(%eax)
4893cd:	c2 0c 00             	ret    $0xc
4893d0:	cc                   	int3
4893d1:	cc                   	int3
4893d2:	cc                   	int3
4893d3:	cc                   	int3
4893d4:	cc                   	int3
4893d5:	cc                   	int3
4893d6:	cc                   	int3
4893d7:	cc                   	int3
4893d8:	cc                   	int3
4893d9:	cc                   	int3
4893da:	cc                   	int3
4893db:	cc                   	int3
4893dc:	cc                   	int3
4893dd:	cc                   	int3
4893de:	cc                   	int3
4893df:	cc                   	int3
4893e0:	cc                   	int3
4893e1:	cc                   	int3
4893e2:	cc                   	int3
4893e3:	cc                   	int3
4893e4:	cc                   	int3
4893e5:	cc                   	int3
4893e6:	cc                   	int3
4893e7:	cc                   	int3
4893e8:	cc                   	int3
4893e9:	cc                   	int3
4893ea:	cc                   	int3
4893eb:	cc                   	int3
4893ec:	cc                   	int3
4893ed:	cc                   	int3
4893ee:	cc                   	int3
4893ef:	cc                   	int3
4893f0:	8b 44 24 04          	mov    0x4(%esp),%eax
4893f4:	56                   	push   %esi
4893f5:	8b 70 04             	mov    0x4(%eax),%esi
4893f8:	8b 10                	mov    (%eax),%edx
4893fa:	89 16                	mov    %edx,(%esi)
4893fc:	8b 30                	mov    (%eax),%esi
4893fe:	8b 50 04             	mov    0x4(%eax),%edx
489401:	89 56 04             	mov    %edx,0x4(%esi)
489404:	ff 49 04             	decl   0x4(%ecx)
489407:	5e                   	pop    %esi
489408:	c2 04 00             	ret    $0x4
48940b:	cc                   	int3
48940c:	cc                   	int3
48940d:	cc                   	int3
48940e:	cc                   	int3
48940f:	cc                   	int3
489410:	cc                   	int3
489411:	cc                   	int3
489412:	cc                   	int3
489413:	cc                   	int3
489414:	cc                   	int3
489415:	cc                   	int3