5cf19f:	83 c4 0c             	add    $0xc,%esp
5cf1a2:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5cf1a9:	8b cf                	mov    %edi,%ecx
5cf1ab:	6a 01                	push   $0x1
5cf1ad:	68 64 25 60 00       	push   $0x602564
5cf1b2:	e8 69 03 00 00       	call   0x5cf520
5cf1b7:	8b ce                	mov    %esi,%ecx
5cf1b9:	c7 47 04 10 00 00 00 	movl   $0x10,0x4(%edi)
5cf1c0:	e8 0b 8f ff ff       	call   0x5c80d0
5cf1c5:	8b c7                	mov    %edi,%eax
5cf1c7:	5f                   	pop    %edi
5cf1c8:	5e                   	pop    %esi
5cf1c9:	8b e5                	mov    %ebp,%esp
5cf1cb:	5d                   	pop    %ebp
5cf1cc:	c3                   	ret
5cf1cd:	cc                   	int3
5cf1ce:	cc                   	int3
5cf1cf:	cc                   	int3
5cf1d0:	55                   	push   %ebp
5cf1d1:	8b ec                	mov    %esp,%ebp
5cf1d3:	51                   	push   %ecx
5cf1d4:	56                   	push   %esi
5cf1d5:	8b 31                	mov    (%ecx),%esi
5cf1d7:	57                   	push   %edi
5cf1d8:	ff 15 24 21 60 00    	call   *0x602124
5cf1de:	8b d0                	mov    %eax,%edx
5cf1e0:	3b 16                	cmp    (%esi),%edx
5cf1e2:	74 20                	je     0x5cf204
5cf1e4:	8b ca                	mov    %edx,%ecx
5cf1e6:	33 c0                	xor    %eax,%eax
5cf1e8:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
5cf1ec:	85 c0                	test   %eax,%eax
5cf1ee:	0f 94 c0             	sete   %al
5cf1f1:	84 c0                	test   %al,%al
5cf1f3:	75 0f                	jne    0x5cf204
5cf1f5:	f3 90                	pause
5cf1f7:	52                   	push   %edx
5cf1f8:	8b ce                	mov    %esi,%ecx
5cf1fa:	e8 b1 86 ff ff       	call   0x5c78b0
5cf1ff:	8d 7e 04             	lea    0x4(%esi),%edi
5cf202:	eb 06                	jmp    0x5cf20a
5cf204:	8d 7e 04             	lea    0x4(%esi),%edi
5cf207:	f0 ff 07             	lock incl (%edi)
5cf20a:	83 46 34 ff          	addl   $0xffffffff,0x34(%esi)
5cf20e:	75 0e                	jne    0x5cf21e
5cf210:	83 7e 30 00          	cmpl   $0x0,0x30(%esi)
5cf214:	74 08                	je     0x5cf21e
5cf216:	8d 4e 20             	lea    0x20(%esi),%ecx
5cf219:	e8 c2 87 ff ff       	call   0x5c79e0
5cf21e:	f0 ff 0f             	lock decl (%edi)
5cf221:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
5cf225:	75 04                	jne    0x5cf22b
5cf227:	33 c0                	xor    %eax,%eax
5cf229:	87 06                	xchg   %eax,(%esi)
5cf22b:	5f                   	pop    %edi
5cf22c:	5e                   	pop    %esi
5cf22d:	8b e5                	mov    %ebp,%esp
5cf22f:	5d                   	pop    %ebp
5cf230:	c3                   	ret
5cf231:	cc                   	int3
5cf232:	cc                   	int3
5cf233:	cc                   	int3
5cf234:	cc                   	int3
5cf235:	cc                   	int3
5cf236:	cc                   	int3
5cf237:	cc                   	int3
5cf238:	cc                   	int3
5cf239:	cc                   	int3
5cf23a:	cc                   	int3
5cf23b:	cc                   	int3
5cf23c:	cc                   	int3
5cf23d:	cc                   	int3
5cf23e:	cc                   	int3
5cf23f:	cc                   	int3
5cf240:	53                   	push   %ebx
5cf241:	56                   	push   %esi
5cf242:	57                   	push   %edi
5cf243:	8b f9                	mov    %ecx,%edi
5cf245:	83 cb ff             	or     $0xffffffff,%ebx
5cf248:	8b 57 20             	mov    0x20(%edi),%edx
5cf24b:	83 ea 01             	sub    $0x1,%edx
5cf24e:	78 1e                	js     0x5cf26e
5cf250:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
5cf253:	c1 e1 03             	shl    $0x3,%ecx
5cf256:	8b 47 28             	mov    0x28(%edi),%eax
5cf259:	8d 49 e8             	lea    -0x18(%ecx),%ecx
5cf25c:	89 5c 08 1c          	mov    %ebx,0x1c(%eax,%ecx,1)
5cf260:	8b da                	mov    %edx,%ebx
5cf262:	8b 47 28             	mov    0x28(%edi),%eax
5cf265:	89 54 01 18          	mov    %edx,0x18(%ecx,%eax,1)
5cf269:	83 ea 01             	sub    $0x1,%edx
5cf26c:	79 e8                	jns    0x5cf256
5cf26e:	8b 47 20             	mov    0x20(%edi),%eax
5cf271:	f7 d8                	neg    %eax
5cf273:	c7 47 14 ff ff ff ff 	movl   $0xffffffff,0x14(%edi)
5cf27a:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
5cf281:	1b c0                	sbb    %eax,%eax
5cf283:	f7 d8                	neg    %eax
5cf285:	48                   	dec    %eax
5cf286:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
5cf28a:	89 47 1c             	mov    %eax,0x1c(%edi)
5cf28d:	7c 25                	jl     0x5cf2b4
5cf28f:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
5cf293:	74 18                	je     0x5cf2ad
5cf295:	e8 d6 78 ff ff       	call   0x5c6b70
5cf29a:	6a 00                	push   $0x0
5cf29c:	ff 77 28             	push   0x28(%edi)
5cf29f:	8b c8                	mov    %eax,%ecx
5cf2a1:	8b 10                	mov    (%eax),%edx
5cf2a3:	ff 52 1c             	call   *0x1c(%edx)
5cf2a6:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
5cf2ad:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
5cf2b4:	5f                   	pop    %edi
5cf2b5:	5e                   	pop    %esi
5cf2b6:	5b                   	pop    %ebx
5cf2b7:	c3                   	ret
5cf2b8:	cc                   	int3
5cf2b9:	cc                   	int3
5cf2ba:	cc                   	int3
5cf2bb:	cc                   	int3
5cf2bc:	cc                   	int3
5cf2bd:	cc                   	int3
5cf2be:	cc                   	int3
5cf2bf:	cc                   	int3
5cf2c0:	55                   	push   %ebp
5cf2c1:	8b ec                	mov    %esp,%ebp
5cf2c3:	83 ec 40             	sub    $0x40,%esp
5cf2c6:	53                   	push   %ebx
5cf2c7:	56                   	push   %esi
5cf2c8:	57                   	push   %edi
5cf2c9:	8b f9                	mov    %ecx,%edi
5cf2cb:	89 7d f4             	mov    %edi,-0xc(%ebp)
5cf2ce:	8b 87 14 51 03 00    	mov    0x35114(%edi),%eax
5cf2d4:	c7 07 98 08 67 00    	movl   $0x670898,(%edi)
5cf2da:	85 c0                	test   %eax,%eax
5cf2dc:	0f 84 24 01 00 00    	je     0x5cf406
5cf2e2:	50                   	push   %eax
5cf2e3:	68 7c 0a 67 00       	push   $0x670a7c
5cf2e8:	e8 03 bd fe ff       	call   0x5baff0
5cf2ed:	83 c4 08             	add    $0x8,%esp
5cf2f0:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5cf2f4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf2f7:	ff 75 fc             	push   -0x4(%ebp)
5cf2fa:	6a 00                	push   $0x0
5cf2fc:	6a 00                	push   $0x0
5cf2fe:	e8 6d fb ff ff       	call   0x5cee70
5cf303:	33 db                	xor    %ebx,%ebx
5cf305:	39 9f 1c 51 03 00    	cmp    %ebx,0x3511c(%edi)
5cf30b:	0f 8e 96 00 00 00    	jle    0x5cf3a7
5cf311:	85 db                	test   %ebx,%ebx
5cf313:	0f 88 81 00 00 00    	js     0x5cf39a
5cf319:	3b 9f 1c 51 03 00    	cmp    0x3511c(%edi),%ebx
5cf31f:	0f 8d 75 00 00 00    	jge    0x5cf39a
5cf325:	8b 87 24 51 03 00    	mov    0x35124(%edi),%eax
5cf32b:	8d 34 5b             	lea    (%ebx,%ebx,2),%esi
5cf32e:	39 1c f0             	cmp    %ebx,(%eax,%esi,8)
5cf331:	74 67                	je     0x5cf39a
5cf333:	8b 74 f0 14          	mov    0x14(%eax,%esi,8),%esi
5cf337:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5cf33a:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf33d:	74 37                	je     0x5cf376
5cf33f:	8b 7d e8             	mov    -0x18(%ebp),%edi
5cf342:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5cf345:	3b 74 cf 10          	cmp    0x10(%edi,%ecx,8),%esi
5cf349:	8d 14 cf             	lea    (%edi,%ecx,8),%edx
5cf34c:	7d 0d                	jge    0x5cf35b
5cf34e:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf351:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf354:	0f 45 ca             	cmovne %edx,%ecx
5cf357:	8b 01                	mov    (%ecx),%eax
5cf359:	eb 0e                	jmp    0x5cf369
5cf35b:	7e 11                	jle    0x5cf36e
5cf35d:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf360:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf363:	0f 45 ca             	cmovne %edx,%ecx
5cf366:	8b 41 04             	mov    0x4(%ecx),%eax
5cf369:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf36c:	75 d4                	jne    0x5cf342
5cf36e:	8b 7d f4             	mov    -0xc(%ebp),%edi
5cf371:	83 f8 ff             	cmp    $0xffffffff,%eax
5cf374:	75 1a                	jne    0x5cf390
5cf376:	6a 01                	push   $0x1
5cf378:	8d 45 f8             	lea    -0x8(%ebp),%eax
5cf37b:	89 75 f8             	mov    %esi,-0x8(%ebp)
5cf37e:	50                   	push   %eax
5cf37f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf382:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
5cf389:	e8 42 f7 ff ff       	call   0x5cead0
5cf38e:	eb 0a                	jmp    0x5cf39a
5cf390:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5cf393:	8d 04 40             	lea    (%eax,%eax,2),%eax
5cf396:	ff 44 c1 14          	incl   0x14(%ecx,%eax,8)
5cf39a:	43                   	inc    %ebx
5cf39b:	3b 9f 1c 51 03 00    	cmp    0x3511c(%edi),%ebx
5cf3a1:	0f 8c 6a ff ff ff    	jl     0x5cf311
5cf3a7:	8b 5d e0             	mov    -0x20(%ebp),%ebx
5cf3aa:	33 f6                	xor    %esi,%esi
5cf3ac:	85 db                	test   %ebx,%ebx
5cf3ae:	7e 4e                	jle    0x5cf3fe
5cf3b0:	85 f6                	test   %esi,%esi
5cf3b2:	78 45                	js     0x5cf3f9
5cf3b4:	3b f3                	cmp    %ebx,%esi
5cf3b6:	7d 41                	jge    0x5cf3f9
5cf3b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
5cf3bb:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5cf3be:	39 34 c8             	cmp    %esi,(%eax,%ecx,8)
5cf3c1:	74 36                	je     0x5cf3f9
5cf3c3:	8d 14 c8             	lea    (%eax,%ecx,8),%edx
5cf3c6:	8b 4a 10             	mov    0x10(%edx),%ecx
5cf3c9:	85 c9                	test   %ecx,%ecx
5cf3cb:	74 16                	je     0x5cf3e3
5cf3cd:	3b 4f 08             	cmp    0x8(%edi),%ecx
5cf3d0:	73 11                	jae    0x5cf3e3
5cf3d2:	8b c1                	mov    %ecx,%eax
5cf3d4:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
5cf3da:	c1 e8 0f             	shr    $0xf,%eax
5cf3dd:	03 4c 87 10          	add    0x10(%edi,%eax,4),%ecx
5cf3e1:	eb 05                	jmp    0x5cf3e8
5cf3e3:	b9 64 25 60 00       	mov    $0x602564,%ecx
5cf3e8:	ff 72 14             	push   0x14(%edx)
5cf3eb:	51                   	push   %ecx
5cf3ec:	68 94 0a 67 00       	push   $0x670a94
5cf3f1:	e8 fa bb fe ff       	call   0x5baff0
5cf3f6:	83 c4 0c             	add    $0xc,%esp
5cf3f9:	46                   	inc    %esi
5cf3fa:	3b f3                	cmp    %ebx,%esi
5cf3fc:	7c b2                	jl     0x5cf3b0
5cf3fe:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5cf401:	e8 3a fe ff ff       	call   0x5cf240
5cf406:	33 f6                	xor    %esi,%esi
5cf408:	39 77 0c             	cmp    %esi,0xc(%edi)
5cf40b:	76 1c                	jbe    0x5cf429
5cf40d:	8d 5f 10             	lea    0x10(%edi),%ebx
5cf410:	e8 5b 77 ff ff       	call   0x5c6b70
5cf415:	6a 00                	push   $0x0
5cf417:	ff 33                	push   (%ebx)
5cf419:	8b c8                	mov    %eax,%ecx
5cf41b:	8b 10                	mov    (%eax),%edx
5cf41d:	ff 52 1c             	call   *0x1c(%edx)
5cf420:	46                   	inc    %esi
5cf421:	8d 5b 04             	lea    0x4(%ebx),%ebx
5cf424:	3b 77 0c             	cmp    0xc(%edi),%esi
5cf427:	72 e7                	jb     0x5cf410
5cf429:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5cf42f:	e8 0c fe ff ff       	call   0x5cf240
5cf434:	8d 8f e0 50 03 00    	lea    0x350e0(%edi),%ecx
5cf43a:	e8 21 83 ff ff       	call   0x5c7760
5cf43f:	8d 8f d8 50 03 00    	lea    0x350d8(%edi),%ecx
5cf445:	e8 16 83 ff ff       	call   0x5c7760
5cf44a:	8d 8f c0 50 03 00    	lea    0x350c0(%edi),%ecx
5cf450:	e8 cb 82 ff ff       	call   0x5c7720
5cf455:	8d 8f a4 50 03 00    	lea    0x350a4(%edi),%ecx
5cf45b:	e8 00 83 ff ff       	call   0x5c7760
5cf460:	8d 8f 9c 50 03 00    	lea    0x3509c(%edi),%ecx
5cf466:	e8 f5 82 ff ff       	call   0x5c7760
5cf46b:	8d 8f 84 50 03 00    	lea    0x35084(%edi),%ecx
5cf471:	e8 aa 82 ff ff       	call   0x5c7720
5cf476:	8d 8f 44 10 03 00    	lea    0x31044(%edi),%ecx
5cf47c:	e8 bf fd ff ff       	call   0x5cf240
5cf481:	8d 8f 14 10 00 00    	lea    0x1014(%edi),%ecx
5cf487:	e8 94 13 00 00       	call   0x5d0820
5cf48c:	5f                   	pop    %edi
5cf48d:	5e                   	pop    %esi
5cf48e:	5b                   	pop    %ebx
5cf48f:	8b e5                	mov    %ebp,%esp
5cf491:	5d                   	pop    %ebp
5cf492:	c3                   	ret
5cf493:	cc                   	int3
5cf494:	cc                   	int3
5cf495:	cc                   	int3
5cf496:	cc                   	int3
5cf497:	cc                   	int3
5cf498:	cc                   	int3
5cf499:	cc                   	int3
5cf49a:	cc                   	int3
5cf49b:	cc                   	int3
5cf49c:	cc                   	int3
5cf49d:	cc                   	int3
5cf49e:	cc                   	int3
5cf49f:	cc                   	int3
5cf4a0:	55                   	push   %ebp
5cf4a1:	8b ec                	mov    %esp,%ebp
5cf4a3:	56                   	push   %esi
5cf4a4:	8b f1                	mov    %ecx,%esi
5cf4a6:	e8 15 fe ff ff       	call   0x5cf2c0
5cf4ab:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5cf4af:	74 0e                	je     0x5cf4bf
5cf4b1:	68 30 51 03 00       	push   $0x35130
5cf4b6:	56                   	push   %esi
5cf4b7:	e8 99 1d 00 00       	call   0x5d1255
5cf4bc:	83 c4 08             	add    $0x8,%esp
5cf4bf:	8b c6                	mov    %esi,%eax
5cf4c1:	5e                   	pop    %esi
5cf4c2:	5d                   	pop    %ebp
5cf4c3:	c2 04 00             	ret    $0x4
5cf4c6:	cc                   	int3
5cf4c7:	cc                   	int3
5cf4c8:	cc                   	int3
5cf4c9:	cc                   	int3
5cf4ca:	cc                   	int3
5cf4cb:	cc                   	int3
5cf4cc:	cc                   	int3
5cf4cd:	cc                   	int3
5cf4ce:	cc                   	int3
5cf4cf:	cc                   	int3
5cf4d0:	55                   	push   %ebp
5cf4d1:	8b ec                	mov    %esp,%ebp
5cf4d3:	83 ec 08             	sub    $0x8,%esp
5cf4d6:	56                   	push   %esi
5cf4d7:	57                   	push   %edi
5cf4d8:	8b f9                	mov    %ecx,%edi
5cf4da:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5cf4e0:	e8 3b 84 ff ff       	call   0x5c7920
5cf4e5:	8b 45 08             	mov    0x8(%ebp),%eax
5cf4e8:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5cf4ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
5cf4f1:	8b 45 0c             	mov    0xc(%ebp),%eax
5cf4f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5cf4f7:	8d 45 f8             	lea    -0x8(%ebp),%eax
5cf4fa:	6a 01                	push   $0x1
5cf4fc:	50                   	push   %eax
5cf4fd:	e8 ee f7 ff ff       	call   0x5cecf0
5cf502:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5cf508:	e8 c3 8b ff ff       	call   0x5c80d0
5cf50d:	5f                   	pop    %edi
5cf50e:	5e                   	pop    %esi
5cf50f:	8b e5                	mov    %ebp,%esp
5cf511:	5d                   	pop    %ebp
5cf512:	c2 08 00             	ret    $0x8
5cf515:	cc                   	int3
5cf516:	cc                   	int3
5cf517:	cc                   	int3
5cf518:	cc                   	int3
5cf519:	cc                   	int3
5cf51a:	cc                   	int3
5cf51b:	cc                   	int3
5cf51c:	cc                   	int3
5cf51d:	cc                   	int3
5cf51e:	cc                   	int3
5cf51f:	cc                   	int3
5cf520:	55                   	push   %ebp
5cf521:	8b ec                	mov    %esp,%ebp
5cf523:	51                   	push   %ecx
5cf524:	53                   	push   %ebx
5cf525:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5cf528:	56                   	push   %esi
5cf529:	8b f1                	mov    %ecx,%esi
5cf52b:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
5cf531:	7c 1a                	jl     0x5cf54d
5cf533:	53                   	push   %ebx