488039:	83 c4 18             	add    $0x18,%esp
48803c:	85 c0                	test   %eax,%eax
48803e:	0f 84 f9 00 00 00    	je     0x48813d
488044:	8b 7d f8             	mov    -0x8(%ebp),%edi
488047:	33 c0                	xor    %eax,%eax
488049:	50                   	push   %eax
48804a:	50                   	push   %eax
48804b:	50                   	push   %eax
48804c:	50                   	push   %eax
48804d:	50                   	push   %eax
48804e:	57                   	push   %edi
48804f:	56                   	push   %esi
488050:	ff 75 10             	push   0x10(%ebp)
488053:	ff 75 0c             	push   0xc(%ebp)
488056:	e8 96 0a 00 00       	call   0x488af1
48805b:	8b d8                	mov    %eax,%ebx
48805d:	85 db                	test   %ebx,%ebx
48805f:	0f 84 d8 00 00 00    	je     0x48813d
488065:	ba 00 04 00 00       	mov    $0x400,%edx
48806a:	85 55 10             	test   %edx,0x10(%ebp)
48806d:	74 38                	je     0x4880a7
48806f:	8b 45 20             	mov    0x20(%ebp),%eax
488072:	85 c0                	test   %eax,%eax
488074:	0f 84 c5 00 00 00    	je     0x48813f
48807a:	3b d8                	cmp    %eax,%ebx
48807c:	0f 8f bb 00 00 00    	jg     0x48813d
488082:	33 c9                	xor    %ecx,%ecx
488084:	51                   	push   %ecx
488085:	51                   	push   %ecx
488086:	51                   	push   %ecx
488087:	50                   	push   %eax
488088:	ff 75 1c             	push   0x1c(%ebp)
48808b:	57                   	push   %edi
48808c:	56                   	push   %esi
48808d:	ff 75 10             	push   0x10(%ebp)
488090:	ff 75 0c             	push   0xc(%ebp)
488093:	e8 59 0a 00 00       	call   0x488af1
488098:	8b d8                	mov    %eax,%ebx
48809a:	85 db                	test   %ebx,%ebx
48809c:	0f 85 9d 00 00 00    	jne    0x48813f
4880a2:	e9 96 00 00 00       	jmp    0x48813d
4880a7:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4880aa:	8d 48 08             	lea    0x8(%eax),%ecx
4880ad:	3b c1                	cmp    %ecx,%eax
4880af:	1b c0                	sbb    %eax,%eax
4880b1:	23 c1                	and    %ecx,%eax
4880b3:	74 7b                	je     0x488130
4880b5:	3b c2                	cmp    %edx,%eax
4880b7:	77 13                	ja     0x4880cc
4880b9:	e8 12 23 fe ff       	call   0x46a3d0
4880be:	8b fc                	mov    %esp,%edi
4880c0:	85 ff                	test   %edi,%edi
4880c2:	74 6e                	je     0x488132
4880c4:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
4880ca:	eb 13                	jmp    0x4880df
4880cc:	50                   	push   %eax
4880cd:	e8 60 d7 ff ff       	call   0x485832
4880d2:	8b f8                	mov    %eax,%edi
4880d4:	59                   	pop    %ecx
4880d5:	85 ff                	test   %edi,%edi
4880d7:	74 59                	je     0x488132
4880d9:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
4880df:	83 c7 08             	add    $0x8,%edi
4880e2:	85 ff                	test   %edi,%edi
4880e4:	74 4c                	je     0x488132
4880e6:	33 c0                	xor    %eax,%eax
4880e8:	50                   	push   %eax
4880e9:	50                   	push   %eax
4880ea:	50                   	push   %eax
4880eb:	53                   	push   %ebx
4880ec:	57                   	push   %edi
4880ed:	ff 75 f8             	push   -0x8(%ebp)
4880f0:	56                   	push   %esi
4880f1:	ff 75 10             	push   0x10(%ebp)
4880f4:	ff 75 0c             	push   0xc(%ebp)
4880f7:	e8 f5 09 00 00       	call   0x488af1
4880fc:	85 c0                	test   %eax,%eax
4880fe:	74 32                	je     0x488132
488100:	33 c0                	xor    %eax,%eax
488102:	50                   	push   %eax
488103:	50                   	push   %eax
488104:	39 45 20             	cmp    %eax,0x20(%ebp)
488107:	75 1f                	jne    0x488128
488109:	50                   	push   %eax
48810a:	50                   	push   %eax
48810b:	53                   	push   %ebx
48810c:	57                   	push   %edi
48810d:	50                   	push   %eax
48810e:	ff 75 24             	push   0x24(%ebp)
488111:	e8 f4 6b 00 00       	call   0x48ed0a
488116:	8b d8                	mov    %eax,%ebx
488118:	83 c4 20             	add    $0x20,%esp
48811b:	85 db                	test   %ebx,%ebx
48811d:	74 13                	je     0x488132
48811f:	57                   	push   %edi
488120:	e8 d5 15 fe ff       	call   0x4696fa
488125:	59                   	pop    %ecx
488126:	eb 17                	jmp    0x48813f
488128:	ff 75 20             	push   0x20(%ebp)
48812b:	ff 75 1c             	push   0x1c(%ebp)
48812e:	eb db                	jmp    0x48810b
488130:	33 ff                	xor    %edi,%edi
488132:	57                   	push   %edi
488133:	e8 c2 15 fe ff       	call   0x4696fa
488138:	59                   	pop    %ecx
488139:	eb 02                	jmp    0x48813d
48813b:	33 f6                	xor    %esi,%esi
48813d:	33 db                	xor    %ebx,%ebx
48813f:	56                   	push   %esi
488140:	e8 b5 15 fe ff       	call   0x4696fa
488145:	59                   	pop    %ecx
488146:	8b c3                	mov    %ebx,%eax
488148:	8d 65 ec             	lea    -0x14(%ebp),%esp
48814b:	5f                   	pop    %edi
48814c:	5e                   	pop    %esi
48814d:	5b                   	pop    %ebx
48814e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
488151:	33 cd                	xor    %ebp,%ecx
488153:	e8 72 18 fe ff       	call   0x4699ca
488158:	c9                   	leave
488159:	c3                   	ret
48815a:	8b ff                	mov    %edi,%edi
48815c:	55                   	push   %ebp
48815d:	8b ec                	mov    %esp,%ebp
48815f:	83 ec 10             	sub    $0x10,%esp
488162:	ff 75 08             	push   0x8(%ebp)
488165:	8d 4d f0             	lea    -0x10(%ebp),%ecx
488168:	e8 a4 19 ff ff       	call   0x479b11
48816d:	ff 75 28             	push   0x28(%ebp)
488170:	8d 45 f4             	lea    -0xc(%ebp),%eax
488173:	ff 75 24             	push   0x24(%ebp)
488176:	ff 75 20             	push   0x20(%ebp)
488179:	ff 75 1c             	push   0x1c(%ebp)
48817c:	ff 75 18             	push   0x18(%ebp)
48817f:	ff 75 14             	push   0x14(%ebp)
488182:	ff 75 10             	push   0x10(%ebp)
488185:	ff 75 0c             	push   0xc(%ebp)
488188:	50                   	push   %eax
488189:	e8 dd fd ff ff       	call   0x487f6b
48818e:	83 c4 24             	add    $0x24,%esp
488191:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
488195:	74 0a                	je     0x4881a1
488197:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48819a:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4881a1:	c9                   	leave
4881a2:	c3                   	ret
4881a3:	8b ff                	mov    %edi,%edi
4881a5:	55                   	push   %ebp
4881a6:	8b ec                	mov    %esp,%ebp
4881a8:	8b 45 08             	mov    0x8(%ebp),%eax
4881ab:	56                   	push   %esi
4881ac:	85 c0                	test   %eax,%eax
4881ae:	75 18                	jne    0x4881c8
4881b0:	e8 80 1d ff ff       	call   0x479f35
4881b5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4881bb:	e8 61 14 ff ff       	call   0x479621
4881c0:	83 c8 ff             	or     $0xffffffff,%eax
4881c3:	e9 67 01 00 00       	jmp    0x48832f
4881c8:	8b 40 0c             	mov    0xc(%eax),%eax
4881cb:	53                   	push   %ebx
4881cc:	90                   	nop
4881cd:	33 db                	xor    %ebx,%ebx
4881cf:	c1 e8 0d             	shr    $0xd,%eax
4881d2:	43                   	inc    %ebx
4881d3:	84 c3                	test   %al,%bl
4881d5:	0f 84 50 01 00 00    	je     0x48832b
4881db:	8b 45 08             	mov    0x8(%ebp),%eax
4881de:	8b 40 0c             	mov    0xc(%eax),%eax
4881e1:	90                   	nop
4881e2:	c1 e8 0c             	shr    $0xc,%eax
4881e5:	84 c3                	test   %al,%bl
4881e7:	0f 85 3e 01 00 00    	jne    0x48832b
4881ed:	8b 45 08             	mov    0x8(%ebp),%eax
4881f0:	8b 40 0c             	mov    0xc(%eax),%eax
4881f3:	90                   	nop
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