4881f4:	d1 e8                	shr    $1,%eax
4881f6:	84 c3                	test   %al,%bl
4881f8:	8b 45 08             	mov    0x8(%ebp),%eax
4881fb:	74 0e                	je     0x48820b
4881fd:	6a 10                	push   $0x10
4881ff:	59                   	pop    %ecx
488200:	83 c0 0c             	add    $0xc,%eax
488203:	f0 09 08             	lock or %ecx,(%eax)
488206:	e9 20 01 00 00       	jmp    0x48832b
48820b:	83 c0 0c             	add    $0xc,%eax
48820e:	f0 09 18             	lock or %ebx,(%eax)
488211:	8b 45 08             	mov    0x8(%ebp),%eax
488214:	8b 40 0c             	mov    0xc(%eax),%eax
488217:	90                   	nop
488218:	a9 c0 04 00 00       	test   $0x4c0,%eax
48821d:	75 09                	jne    0x488228
48821f:	ff 75 08             	push   0x8(%ebp)
488222:	e8 aa 0a 00 00       	call   0x488cd1
488227:	59                   	pop    %ecx
488228:	8b 45 08             	mov    0x8(%ebp),%eax
48822b:	57                   	push   %edi
48822c:	8b 48 04             	mov    0x4(%eax),%ecx
48822f:	89 08                	mov    %ecx,(%eax)
488231:	8b 45 08             	mov    0x8(%ebp),%eax
488234:	50                   	push   %eax
488235:	8b 70 18             	mov    0x18(%eax),%esi
488238:	8b 78 04             	mov    0x4(%eax),%edi
48823b:	e8 f2 e4 ff ff       	call   0x486732
488240:	56                   	push   %esi
488241:	57                   	push   %edi
488242:	50                   	push   %eax
488243:	e8 c1 0f 00 00       	call   0x489209
488248:	8b 4d 08             	mov    0x8(%ebp),%ecx
48824b:	83 c4 10             	add    $0x10,%esp
48824e:	89 41 08             	mov    %eax,0x8(%ecx)
488251:	8b 45 08             	mov    0x8(%ebp),%eax
488254:	5f                   	pop    %edi
488255:	8b 50 08             	mov    0x8(%eax),%edx
488258:	85 d2                	test   %edx,%edx
48825a:	0f 84 b0 00 00 00    	je     0x488310
488260:	83 fa ff             	cmp    $0xffffffff,%edx
488263:	0f 84 a7 00 00 00    	je     0x488310
488269:	8b 40 0c             	mov    0xc(%eax),%eax
48826c:	90                   	nop
48826d:	a8 06                	test   $0x6,%al
48826f:	75 5e                	jne    0x4882cf
488271:	ff 75 08             	push   0x8(%ebp)
488274:	e8 b9 e4 ff ff       	call   0x486732
488279:	59                   	pop    %ecx
48827a:	83 f8 ff             	cmp    $0xffffffff,%eax
48827d:	74 36                	je     0x4882b5
48827f:	ff 75 08             	push   0x8(%ebp)
488282:	e8 ab e4 ff ff       	call   0x486732
488287:	59                   	pop    %ecx
488288:	83 f8 fe             	cmp    $0xfffffffe,%eax
48828b:	74 28                	je     0x4882b5
48828d:	ff 75 08             	push   0x8(%ebp)
488290:	e8 9d e4 ff ff       	call   0x486732
488295:	ff 75 08             	push   0x8(%ebp)
488298:	8b f0                	mov    %eax,%esi
48829a:	c1 fe 06             	sar    $0x6,%esi
48829d:	e8 90 e4 ff ff       	call   0x486732
4882a2:	59                   	pop    %ecx
4882a3:	83 e0 3f             	and    $0x3f,%eax
4882a6:	59                   	pop    %ecx
4882a7:	6b c8 38             	imul   $0x38,%eax,%ecx
4882aa:	8b 04 b5 00 88 4c 00 	mov    0x4c8800(,%esi,4),%eax
4882b1:	03 c1                	add    %ecx,%eax
4882b3:	eb 05                	jmp    0x4882ba
4882b5:	b8 98 42 4c 00       	mov    $0x4c4298,%eax
4882ba:	8a 40 28             	mov    0x28(%eax),%al
4882bd:	24 82                	and    $0x82,%al
4882bf:	3c 82                	cmp    $0x82,%al
4882c1:	75 0c                	jne    0x4882cf
4882c3:	8b 45 08             	mov    0x8(%ebp),%eax
4882c6:	6a 20                	push   $0x20
4882c8:	59                   	pop    %ecx
4882c9:	83 c0 0c             	add    $0xc,%eax
4882cc:	f0 09 08             	lock or %ecx,(%eax)
4882cf:	8b 45 08             	mov    0x8(%ebp),%eax
4882d2:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
4882d9:	75 26                	jne    0x488301
4882db:	8b 40 0c             	mov    0xc(%eax),%eax
4882de:	90                   	nop
4882df:	c1 e8 06             	shr    $0x6,%eax
4882e2:	84 c3                	test   %al,%bl
4882e4:	74 18                	je     0x4882fe
4882e6:	8b 45 08             	mov    0x8(%ebp),%eax
4882e9:	8b 40 0c             	mov    0xc(%eax),%eax
4882ec:	90                   	nop
4882ed:	c1 e8 08             	shr    $0x8,%eax
4882f0:	84 c3                	test   %al,%bl
4882f2:	75 0a                	jne    0x4882fe
4882f4:	8b 45 08             	mov    0x8(%ebp),%eax
4882f7:	c7 40 18 00 10 00 00 	movl   $0x1000,0x18(%eax)
4882fe:	8b 45 08             	mov    0x8(%ebp),%eax
488301:	8b 08                	mov    (%eax),%ecx
488303:	ff 48 08             	decl   0x8(%eax)
488306:	8a 11                	mov    (%ecx),%dl
488308:	41                   	inc    %ecx
488309:	89 08                	mov    %ecx,(%eax)
48830b:	0f b6 c2             	movzbl %dl,%eax
48830e:	eb 1e                	jmp    0x48832e
488310:	33 c9                	xor    %ecx,%ecx
488312:	85 d2                	test   %edx,%edx
488314:	0f 95 c1             	setne  %cl
488317:	83 c0 0c             	add    $0xc,%eax
48831a:	8d 0c cd 08 00 00 00 	lea    0x8(,%ecx,8),%ecx
488321:	f0 09 08             	lock or %ecx,(%eax)
488324:	8b 4d 08             	mov    0x8(%ebp),%ecx
488327:	83 61 08 00          	andl   $0x0,0x8(%ecx)
48832b:	83 c8 ff             	or     $0xffffffff,%eax
48832e:	5b                   	pop    %ebx
48832f:	5e                   	pop    %esi
488330:	5d                   	pop    %ebp
488331:	c3                   	ret
488332:	8b ff                	mov    %edi,%edi
488334:	55                   	push   %ebp
488335:	8b ec                	mov    %esp,%ebp
488337:	5d                   	pop    %ebp
488338:	e9 66 fe ff ff       	jmp    0x4881a3
48833d:	8b ff                	mov    %edi,%edi
48833f:	55                   	push   %ebp
488340:	8b ec                	mov    %esp,%ebp
488342:	56                   	push   %esi
488343:	8b 75 08             	mov    0x8(%ebp),%esi
488346:	85 f6                	test   %esi,%esi
488348:	74 0c                	je     0x488356
48834a:	6a e0                	push   $0xffffffe0
48834c:	33 d2                	xor    %edx,%edx
48834e:	58                   	pop    %eax
48834f:	f7 f6                	div    %esi
488351:	3b 45 0c             	cmp    0xc(%ebp),%eax
488354:	72 34                	jb     0x48838a
488356:	0f af 75 0c          	imul   0xc(%ebp),%esi
48835a:	85 f6                	test   %esi,%esi
48835c:	75 17                	jne    0x488375
48835e:	46                   	inc    %esi
48835f:	eb 14                	jmp    0x488375
488361:	e8 ab cd ff ff       	call   0x485111
488366:	85 c0                	test   %eax,%eax
488368:	74 20                	je     0x48838a
48836a:	56                   	push   %esi
48836b:	e8 ec cd ff ff       	call   0x48515c
488370:	59                   	pop    %ecx
488371:	85 c0                	test   %eax,%eax
488373:	74 15                	je     0x48838a
488375:	56                   	push   %esi
488376:	6a 08                	push   $0x8
488378:	ff 35 e8 8b 4c 00    	push   0x4c8be8
48837e:	ff 15 a4 e0 49 00    	call   *0x49e0a4
488384:	85 c0                	test   %eax,%eax
488386:	74 d9                	je     0x488361
488388:	eb 0d                	jmp    0x488397
48838a:	e8 a6 1b ff ff       	call   0x479f35
48838f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
488395:	33 c0                	xor    %eax,%eax
488397:	5e                   	pop    %esi
488398:	5d                   	pop    %ebp
488399:	c3                   	ret
48839a:	cc                   	int3
48839b:	cc                   	int3
48839c:	cc                   	int3
48839d:	cc                   	int3
48839e:	cc                   	int3
48839f:	cc                   	int3
4883a0:	8b ff                	mov    %edi,%edi
4883a2:	55                   	push   %ebp
4883a3:	8b ec                	mov    %esp,%ebp
4883a5:	33 c9                	xor    %ecx,%ecx
4883a7:	5d                   	pop    %ebp
4883a8:	e9 7c 00 00 00       	jmp    0x488429
4883ad:	6a 0c                	push   $0xc
4883af:	68 30 1a 4c 00       	push   $0x4c1a30
4883b4:	e8 87 23 fe ff       	call   0x46a740
4883b9:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4883bd:	8b 45 08             	mov    0x8(%ebp),%eax
4883c0:	ff 30                	push   (%eax)
4883c2:	e8 9a 9a ff ff       	call   0x481e61
4883c7:	59                   	pop    %ecx
4883c8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4883cc:	8b 45 0c             	mov    0xc(%ebp),%eax
4883cf:	8b 00                	mov    (%eax),%eax
4883d1:	ff 30                	push   (%eax)
4883d3:	e8 4e aa ff ff       	call   0x482e26
4883d8:	59                   	pop    %ecx
4883d9:	a3 ec 8a 4c 00       	mov    %eax,0x4c8aec
4883de:	6a 01                	push   $0x1
4883e0:	68 a0 83 48 00       	push   $0x4883a0
4883e5:	ff 15 e8 e0 49 00    	call   *0x49e0e8
4883eb:	8b f0                	mov    %eax,%esi
4883ed:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4883f2:	a3 ec 8a 4c 00       	mov    %eax,0x4c8aec
4883f7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4883fa:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
488401:	e8 17 00 00 00       	call   0x48841d
488406:	8b c6                	mov    %esi,%eax
488408:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48840b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
488412:	59                   	pop    %ecx
488413:	5f                   	pop    %edi
488414:	5e                   	pop    %esi
488415:	5b                   	pop    %ebx
488416:	c9                   	leave
488417:	c2 0c 00             	ret    $0xc
48841a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
48841d:	8b 4d 10             	mov    0x10(%ebp),%ecx
488420:	ff 31                	push   (%ecx)
488422:	e8 8a 9a ff ff       	call   0x481eb1
488427:	59                   	pop    %ecx
488428:	c3                   	ret
488429:	8b ff                	mov    %edi,%edi
48842b:	55                   	push   %ebp
48842c:	8b ec                	mov    %esp,%ebp
48842e:	8b 0d 14 40 4c 00    	mov    0x4c4014,%ecx
488434:	56                   	push   %esi
488435:	8b 35 ec 8a 4c 00    	mov    0x4c8aec,%esi
48843b:	83 e1 1f             	and    $0x1f,%ecx
48843e:	33 35 14 40 4c 00    	xor    0x4c4014,%esi
488444:	6a 00                	push   $0x0
488446:	6a 00                	push   $0x0
488448:	ff 75 08             	push   0x8(%ebp)
48844b:	d3 ce                	ror    %cl,%esi
48844d:	8b ce                	mov    %esi,%ecx
48844f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
488455:	ff d6                	call   *%esi
488457:	5e                   	pop    %esi
488458:	5d                   	pop    %ebp
488459:	c2 04 00             	ret    $0x4
48845c:	68 78 3d 4a 00       	push   $0x4a3d78
488461:	68 74 3d 4a 00       	push   $0x4a3d74
488466:	68 78 3d 4a 00       	push   $0x4a3d78
48846b:	6a 00                	push   $0x0
48846d:	e8 d3 01 00 00       	call   0x488645
488472:	83 c4 10             	add    $0x10,%esp
488475:	c3                   	ret
488476:	68 90 3d 4a 00       	push   $0x4a3d90
48847b:	68 88 3d 4a 00       	push   $0x4a3d88
488480:	68 90 3d 4a 00       	push   $0x4a3d90
488485:	6a 01                	push   $0x1
488487:	e8 b9 01 00 00       	call   0x488645
48848c:	83 c4 10             	add    $0x10,%esp
48848f:	c3                   	ret
488490:	68 a8 3d 4a 00       	push   $0x4a3da8
488495:	68 a0 3d 4a 00       	push   $0x4a3da0
48849a:	68 a8 3d 4a 00       	push   $0x4a3da8
48849f:	6a 02                	push   $0x2
4884a1:	e8 9f 01 00 00       	call   0x488645
4884a6:	83 c4 10             	add    $0x10,%esp
4884a9:	c3                   	ret
4884aa:	68 c4 3d 4a 00       	push   $0x4a3dc4
4884af:	68 bc 3d 4a 00       	push   $0x4a3dbc
4884b4:	68 c4 3d 4a 00       	push   $0x4a3dc4
4884b9:	6a 04                	push   $0x4
4884bb:	e8 85 01 00 00       	call   0x488645
4884c0:	83 c4 10             	add    $0x10,%esp
4884c3:	c3                   	ret
4884c4:	68 dc 3d 4a 00       	push   $0x4a3ddc
4884c9:	68 d4 3d 4a 00       	push   $0x4a3dd4
4884ce:	68 dc 3d 4a 00       	push   $0x4a3ddc
4884d3:	6a 08                	push   $0x8
4884d5:	e8 6b 01 00 00       	call   0x488645
4884da:	83 c4 10             	add    $0x10,%esp
4884dd:	c3                   	ret
4884de:	68 18 3e 4a 00       	push   $0x4a3e18
4884e3:	68 10 3e 4a 00       	push   $0x4a3e10
4884e8:	68 18 3e 4a 00       	push   $0x4a3e18
4884ed:	6a 0b                	push   $0xb
4884ef:	e8 51 01 00 00       	call   0x488645
4884f4:	83 c4 10             	add    $0x10,%esp
4884f7:	c3                   	ret
4884f8:	68 30 3e 4a 00       	push   $0x4a3e30
4884fd:	68 28 3e 4a 00       	push   $0x4a3e28
488502:	68 30 3e 4a 00       	push   $0x4a3e30
488507:	6a 0c                	push   $0xc
488509:	e8 37 01 00 00       	call   0x488645
48850e:	83 c4 10             	add    $0x10,%esp
488511:	c3                   	ret
488512:	68 5c 3e 4a 00       	push   $0x4a3e5c
488517:	68 54 3e 4a 00       	push   $0x4a3e54
48851c:	68 5c 3e 4a 00       	push   $0x4a3e5c
488521:	6a 10                	push   $0x10
488523:	e8 1d 01 00 00       	call   0x488645
488528:	83 c4 10             	add    $0x10,%esp
48852b:	c3                   	ret
48852c:	68 90 3e 4a 00       	push   $0x4a3e90
488531:	68 88 3e 4a 00       	push   $0x4a3e88
488536:	68 90 3e 4a 00       	push   $0x4a3e90
48853b:	6a 12                	push   $0x12
48853d:	e8 03 01 00 00       	call   0x488645
488542:	83 c4 10             	add    $0x10,%esp
488545:	c3                   	ret
488546:	68 78 3e 4a 00       	push   $0x4a3e78
48854b:	68 70 3e 4a 00       	push   $0x4a3e70
488550:	68 78 3e 4a 00       	push   $0x4a3e78
488555:	6a 11                	push   $0x11
488557:	e8 e9 00 00 00       	call   0x488645
48855c:	83 c4 10             	add    $0x10,%esp
48855f:	c3                   	ret
488560:	68 ac 3e 4a 00       	push   $0x4a3eac
488565:	68 a4 3e 4a 00       	push   $0x4a3ea4
48856a:	68 ac 3e 4a 00       	push   $0x4a3eac
48856f:	6a 13                	push   $0x13
488571:	e8 cf 00 00 00       	call   0x488645
488576:	83 c4 10             	add    $0x10,%esp
488579:	c3                   	ret
48857a:	8b ff                	mov    %edi,%edi
48857c:	55                   	push   %ebp
48857d:	8b ec                	mov    %esp,%ebp
48857f:	51                   	push   %ecx
488580:	53                   	push   %ebx
488581:	56                   	push   %esi
488582:	57                   	push   %edi
488583:	8b 7d 08             	mov    0x8(%ebp),%edi
488586:	e9 8d 00 00 00       	jmp    0x488618
48858b:	8b 0f                	mov    (%edi),%ecx
48858d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
488590:	8d 04 8d 08 8a 4c 00 	lea    0x4c8a08(,%ecx,4),%eax
488597:	8b 30                	mov    (%eax),%esi
488599:	90                   	nop
48859a:	85 f6                	test   %esi,%esi
48859c:	74 0b                	je     0x4885a9
48859e:	83 fe ff             	cmp    $0xffffffff,%esi
4885a1:	0f 85 9a 00 00 00    	jne    0x488641
4885a7:	eb 6c                	jmp    0x488615
4885a9:	8b 1c 8d 68 38 4a 00 	mov    0x4a3868(,%ecx,4),%ebx
4885b0:	68 00 08 00 00       	push   $0x800
4885b5:	6a 00                	push   $0x0
4885b7:	53                   	push   %ebx
4885b8:	ff 15 28 e1 49 00    	call   *0x49e128
4885be:	8b f0                	mov    %eax,%esi
4885c0:	85 f6                	test   %esi,%esi
4885c2:	75 64                	jne    0x488628
4885c4:	ff 15 30 e1 49 00    	call   *0x49e130
4885ca:	83 f8 57             	cmp    $0x57,%eax
4885cd:	75 37                	jne    0x488606
4885cf:	6a 07                	push   $0x7
4885d1:	68 74 18 4a 00       	push   $0x4a1874
4885d6:	53                   	push   %ebx
4885d7:	e8 6b 1f ff ff       	call   0x47a547
4885dc:	83 c4 0c             	add    $0xc,%esp
4885df:	85 c0                	test   %eax,%eax
4885e1:	74 23                	je     0x488606
4885e3:	6a 07                	push   $0x7
4885e5:	68 64 3d 4a 00       	push   $0x4a3d64
4885ea:	53                   	push   %ebx
4885eb:	e8 57 1f ff ff       	call   0x47a547
4885f0:	83 c4 0c             	add    $0xc,%esp
4885f3:	85 c0                	test   %eax,%eax
4885f5:	74 0f                	je     0x488606