603199:	0f b7 c8             	movzwl %ax,%ecx
60319c:	8d 41 bf             	lea    -0x41(%ecx),%eax
60319f:	83 f8 19             	cmp    $0x19,%eax
6031a2:	77 03                	ja     0x6031a7
6031a4:	83 c1 20             	add    $0x20,%ecx
6031a7:	6a 38                	push   $0x38
6031a9:	5a                   	pop    %edx
6031aa:	83 f9 75             	cmp    $0x75,%ecx
6031ad:	75 41                	jne    0x6031f0
6031af:	0f b7 8d 32 ff ff ff 	movzwl -0xce(%ebp),%ecx
6031b6:	8d 41 bf             	lea    -0x41(%ecx),%eax
6031b9:	83 f8 19             	cmp    $0x19,%eax
6031bc:	77 03                	ja     0x6031c1
6031be:	83 c1 20             	add    $0x20,%ecx
6031c1:	83 f9 74             	cmp    $0x74,%ecx
6031c4:	75 2a                	jne    0x6031f0
6031c6:	0f b7 8d 34 ff ff ff 	movzwl -0xcc(%ebp),%ecx
6031cd:	8d 41 bf             	lea    -0x41(%ecx),%eax
6031d0:	83 f8 19             	cmp    $0x19,%eax
6031d3:	77 03                	ja     0x6031d8
6031d5:	83 c1 20             	add    $0x20,%ecx
6031d8:	83 f9 66             	cmp    $0x66,%ecx
6031db:	75 13                	jne    0x6031f0
6031dd:	66 39 95 36 ff ff ff 	cmp    %dx,-0xca(%ebp)
6031e4:	75 0a                	jne    0x6031f0
6031e6:	66 83 bd 38 ff ff ff 	cmpw   $0x0,-0xc8(%ebp)
6031ed:	00
6031ee:	74 29                	je     0x603219
6031f0:	66 83 bd 36 ff ff ff 	cmpw   $0x2d,-0xca(%ebp)
6031f7:	2d
6031f8:	0f 85 e3 00 00 00    	jne    0x6032e1
6031fe:	66 39 95 38 ff ff ff 	cmp    %dx,-0xc8(%ebp)
603205:	0f 85 d6 00 00 00    	jne    0x6032e1
60320b:	66 83 bd 3a ff ff ff 	cmpw   $0x0,-0xc6(%ebp)
603212:	00
603213:	0f 85 c8 00 00 00    	jne    0x6032e1
603219:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
60321e:	eb 0d                	jmp    0x60322d
603220:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
603226:	50                   	push   %eax
603227:	e8 f8 09 00 00       	call   0x603c24
60322c:	59                   	pop    %ecx
60322d:	47                   	inc    %edi
60322e:	0f b7 c0             	movzwl %ax,%eax
603231:	57                   	push   %edi
603232:	56                   	push   %esi
603233:	89 03                	mov    %eax,(%ebx)
603235:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
60323b:	68 83 00 00 00       	push   $0x83
603240:	53                   	push   %ebx
603241:	e8 31 3e ff ff       	call   0x5f7077
603246:	83 c4 10             	add    $0x10,%esp
603249:	85 c0                	test   %eax,%eax
60324b:	0f 85 b0 00 00 00    	jne    0x603301
603251:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
603257:	8d 51 02             	lea    0x2(%ecx),%edx
60325a:	66 8b 01             	mov    (%ecx),%ax
60325d:	83 c1 02             	add    $0x2,%ecx
603260:	66 3b 85 20 fe ff ff 	cmp    -0x1e0(%ebp),%ax
603267:	75 f1                	jne    0x60325a
603269:	2b ca                	sub    %edx,%ecx
60326b:	d1 f9                	sar    $1,%ecx
60326d:	8d 41 01             	lea    0x1(%ecx),%eax
603270:	50                   	push   %eax
603271:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
603277:	50                   	push   %eax
603278:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
60327e:	e8 63 f9 ff ff       	call   0x602be6
603283:	33 c0                	xor    %eax,%eax
603285:	66 39 06             	cmp    %ax,(%esi)
603288:	74 24                	je     0x6032ae
60328a:	b8 83 00 00 00       	mov    $0x83,%eax
60328f:	39 85 18 fe ff ff    	cmp    %eax,-0x1e8(%ebp)
603295:	73 17                	jae    0x6032ae
603297:	57                   	push   %edi
603298:	56                   	push   %esi
603299:	50                   	push   %eax
60329a:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
6032a0:	e8 d2 3d ff ff       	call   0x5f7077
6032a5:	83 c4 10             	add    $0x10,%esp
6032a8:	85 c0                	test   %eax,%eax
6032aa:	74 0d                	je     0x6032b9
6032ac:	eb 53                	jmp    0x603301
6032ae:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
6032b4:	33 c9                	xor    %ecx,%ecx
6032b6:	66 89 08             	mov    %cx,(%eax)
6032b9:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
6032bf:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
6032c5:	53                   	push   %ebx
6032c6:	ff 75 10             	push   0x10(%ebp)
6032c9:	8b 00                	mov    (%eax),%eax
6032cb:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
6032d1:	89 01                	mov    %eax,(%ecx)
6032d3:	e8 3c 34 ff ff       	call   0x5f6714
6032d8:	83 c4 0c             	add    $0xc,%esp
6032db:	85 c0                	test   %eax,%eax
6032dd:	75 22                	jne    0x603301
6032df:	eb 04                	jmp    0x6032e5
6032e1:	33 c0                	xor    %eax,%eax
6032e3:	8b d8                	mov    %eax,%ebx
6032e5:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
6032eb:	e8 5e f7 ff ff       	call   0x602a4e
6032f0:	8b c3                	mov    %ebx,%eax
6032f2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
6032f5:	5f                   	pop    %edi
6032f6:	5e                   	pop    %esi
6032f7:	33 cd                	xor    %ebp,%ecx
6032f9:	5b                   	pop    %ebx
6032fa:	e8 db e1 fd ff       	call   0x5e14da
6032ff:	c9                   	leave
603300:	c3                   	ret
603301:	33 c0                	xor    %eax,%eax
603303:	50                   	push   %eax
603304:	50                   	push   %eax
603305:	50                   	push   %eax
603306:	50                   	push   %eax
603307:	50                   	push   %eax
603308:	e8 3f 9c fe ff       	call   0x5ecf4c
60330d:	cc                   	int3
60330e:	8b ff                	mov    %edi,%edi
603310:	55                   	push   %ebp
603311:	8b ec                	mov    %esp,%ebp
603313:	53                   	push   %ebx
603314:	33 db                	xor    %ebx,%ebx
603316:	56                   	push   %esi
603317:	8b f3                	mov    %ebx,%esi
603319:	39 5d 10             	cmp    %ebx,0x10(%ebp)
60331c:	7e 22                	jle    0x603340
60331e:	57                   	push   %edi
60331f:	8d 7d 10             	lea    0x10(%ebp),%edi
603322:	8d 7f 04             	lea    0x4(%edi),%edi
603325:	ff 37                	push   (%edi)
603327:	ff 75 0c             	push   0xc(%ebp)
60332a:	ff 75 08             	push   0x8(%ebp)
60332d:	e8 98 8e ff ff       	call   0x5fc1ca
603332:	83 c4 0c             	add    $0xc,%esp
603335:	85 c0                	test   %eax,%eax
603337:	75 0b                	jne    0x603344
603339:	46                   	inc    %esi
60333a:	3b 75 10             	cmp    0x10(%ebp),%esi
60333d:	7c e3                	jl     0x603322
60333f:	5f                   	pop    %edi
603340:	5e                   	pop    %esi
603341:	5b                   	pop    %ebx
603342:	5d                   	pop    %ebp
603343:	c3                   	ret
603344:	53                   	push   %ebx
603345:	53                   	push   %ebx
603346:	53                   	push   %ebx
603347:	53                   	push   %ebx
603348:	53                   	push   %ebx
603349:	e8 fe 9b fe ff       	call   0x5ecf4c
60334e:	cc                   	int3
60334f:	8b ff                	mov    %edi,%edi
603351:	55                   	push   %ebp
603352:	8b ec                	mov    %esp,%ebp
603354:	83 ec 28             	sub    $0x28,%esp
603357:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
60335b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
60335f:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
603363:	76 14                	jbe    0x603379
603365:	e8 8f 9c fe ff       	call   0x5ecff9
60336a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
603370:	e8 aa 9b fe ff       	call   0x5ecf1f
603375:	33 c0                	xor    %eax,%eax
603377:	c9                   	leave
603378:	c3                   	ret
603379:	e8 bb 10 00 00       	call   0x604439
60337e:	89 45 f8             	mov    %eax,-0x8(%ebp)
603381:	e8 83 45 00 00       	call   0x607909
603386:	e8 82 b9 00 00       	call   0x60ed0d
60338b:	8b 45 f8             	mov    -0x8(%ebp),%eax
60338e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
603391:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
603398:	8d 45 f8             	lea    -0x8(%ebp),%eax
60339b:	89 45 ec             	mov    %eax,-0x14(%ebp)
60339e:	8d 45 f0             	lea    -0x10(%ebp),%eax
6033a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
6033a4:	8d 45 f8             	lea    -0x8(%ebp),%eax
6033a7:	89 45 dc             	mov    %eax,-0x24(%ebp)
6033aa:	8d 45 f4             	lea    -0xc(%ebp),%eax
6033ad:	89 45 e0             	mov    %eax,-0x20(%ebp)
6033b0:	8d 45 08             	lea    0x8(%ebp),%eax
6033b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6033b6:	8d 45 0c             	lea    0xc(%ebp),%eax
6033b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
6033bc:	8d 45 ec             	lea    -0x14(%ebp),%eax
6033bf:	50                   	push   %eax
6033c0:	8d 45 d8             	lea    -0x28(%ebp),%eax
6033c3:	50                   	push   %eax
6033c4:	8d 45 ff             	lea    -0x1(%ebp),%eax
6033c7:	50                   	push   %eax
6033c8:	e8 37 f5 ff ff       	call   0x602904
6033cd:	8b 45 f4             	mov    -0xc(%ebp),%eax
6033d0:	c9                   	leave
6033d1:	c3                   	ret
6033d2:	8b ff                	mov    %edi,%edi
6033d4:	55                   	push   %ebp
6033d5:	8b ec                	mov    %esp,%ebp
6033d7:	83 ec 10             	sub    $0x10,%esp
6033da:	53                   	push   %ebx
6033db:	56                   	push   %esi
6033dc:	33 f6                	xor    %esi,%esi
6033de:	46                   	inc    %esi
6033df:	68 a6 06 00 00       	push   $0x6a6
6033e4:	89 75 f8             	mov    %esi,-0x8(%ebp)
6033e7:	e8 09 2a 00 00       	call   0x605df5
6033ec:	8b d8                	mov    %eax,%ebx
6033ee:	33 c0                	xor    %eax,%eax
6033f0:	59                   	pop    %ecx
6033f1:	85 db                	test   %ebx,%ebx
6033f3:	0f 84 17 01 00 00    	je     0x603510
6033f9:	57                   	push   %edi
6033fa:	8d 7b 04             	lea    0x4(%ebx),%edi
6033fd:	66 89 07             	mov    %ax,(%edi)
603400:	89 33                	mov    %esi,(%ebx)
603402:	8b 75 08             	mov    0x8(%ebp),%esi
603405:	8d 46 30             	lea    0x30(%esi),%eax
603408:	ff 30                	push   (%eax)
60340a:	89 45 f4             	mov    %eax,-0xc(%ebp)
60340d:	68 80 ae 68 00       	push   $0x68ae80
603412:	ff 35 fc 44 6d 00    	push   0x6d44fc
603418:	6a 03                	push   $0x3
60341a:	68 51 03 00 00       	push   $0x351
60341f:	57                   	push   %edi
603420:	e8 e9 fe ff ff       	call   0x60330e
603425:	b8 fc 44 6d 00       	mov    $0x6d44fc,%eax
60342a:	83 c4 18             	add    $0x18,%esp
60342d:	89 45 fc             	mov    %eax,-0x4(%ebp)
603430:	68 bc 45 6d 00       	push   $0x6d45bc
603435:	68 51 03 00 00       	push   $0x351
60343a:	57                   	push   %edi
60343b:	e8 8a 8d ff ff       	call   0x5fc1ca
603440:	83 c4 0c             	add    $0xc,%esp
603443:	85 c0                	test   %eax,%eax
603445:	0f 85 15 01 00 00    	jne    0x603560
60344b:	8b 45 f4             	mov    -0xc(%ebp),%eax
60344e:	8d 48 10             	lea    0x10(%eax),%ecx
603451:	8b 00                	mov    (%eax),%eax
603453:	89 4d f4             	mov    %ecx,-0xc(%ebp)
603456:	8b 09                	mov    (%ecx),%ecx
603458:	89 4d f0             	mov    %ecx,-0x10(%ebp)
60345b:	66 8b 10             	mov    (%eax),%dx
60345e:	66 3b 11             	cmp    (%ecx),%dx
603461:	75 1e                	jne    0x603481
603463:	66 85 d2             	test   %dx,%dx
603466:	74 15                	je     0x60347d
603468:	66 8b 50 02          	mov    0x2(%eax),%dx
60346c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
603470:	75 0f                	jne    0x603481
603472:	83 c0 04             	add    $0x4,%eax
603475:	83 c1 04             	add    $0x4,%ecx
603478:	66 85 d2             	test   %dx,%dx
60347b:	75 de                	jne    0x60345b
60347d:	33 c0                	xor    %eax,%eax
60347f:	eb 05                	jmp    0x603486
603481:	1b c0                	sbb    %eax,%eax
603483:	83 c8 01             	or     $0x1,%eax
603486:	ff 75 f0             	push   -0x10(%ebp)
603489:	f7 d8                	neg    %eax
60348b:	68 80 ae 68 00       	push   $0x68ae80
603490:	1b c0                	sbb    %eax,%eax
603492:	f7 d0                	not    %eax
603494:	21 45 f8             	and    %eax,-0x8(%ebp)
603497:	8b 45 f4             	mov    -0xc(%ebp),%eax
60349a:	89 45 f4             	mov    %eax,-0xc(%ebp)
60349d:	8b 45 fc             	mov    -0x4(%ebp),%eax
6034a0:	83 c0 0c             	add    $0xc,%eax
6034a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
6034a6:	ff 30                	push   (%eax)
6034a8:	6a 03                	push   $0x3
6034aa:	68 51 03 00 00       	push   $0x351
6034af:	57                   	push   %edi
6034b0:	e8 59 fe ff ff       	call   0x60330e
6034b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6034b8:	83 c4 18             	add    $0x18,%esp
6034bb:	3d 2c 45 6d 00       	cmp    $0x6d452c,%eax
6034c0:	0f 8c 6a ff ff ff    	jl     0x603430
6034c6:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
6034ca:	75 48                	jne    0x603514
6034cc:	8b 4e 28             	mov    0x28(%esi),%ecx
6034cf:	83 cf ff             	or     $0xffffffff,%edi
6034d2:	85 c9                	test   %ecx,%ecx
6034d4:	74 11                	je     0x6034e7
6034d6:	8b c7                	mov    %edi,%eax
6034d8:	f0 0f c1 01          	lock xadd %eax,(%ecx)
6034dc:	75 09                	jne    0x6034e7
6034de:	ff 76 28             	push   0x28(%esi)
6034e1:	e8 42 13 00 00       	call   0x604828
6034e6:	59                   	pop    %ecx
6034e7:	8b 46 24             	mov    0x24(%esi),%eax
6034ea:	85 c0                	test   %eax,%eax
6034ec:	74 10                	je     0x6034fe
6034ee:	f0 0f c1 38          	lock xadd %edi,(%eax)
6034f2:	4f                   	dec    %edi
6034f3:	75 09                	jne    0x6034fe
6034f5:	ff 76 24             	push   0x24(%esi)
6034f8:	e8 2b 13 00 00       	call   0x604828
6034fd:	59                   	pop    %ecx
6034fe:	83 66 24 00          	andl   $0x0,0x24(%esi)
603502:	8d 43 04             	lea    0x4(%ebx),%eax
603505:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
603509:	89 5e 28             	mov    %ebx,0x28(%esi)
60350c:	89 46 20             	mov    %eax,0x20(%esi)
60350f:	5f                   	pop    %edi
603510:	5e                   	pop    %esi
603511:	5b                   	pop    %ebx
603512:	c9                   	leave
603513:	c3                   	ret
603514:	53                   	push   %ebx
603515:	e8 0e 13 00 00       	call   0x604828
60351a:	59                   	pop    %ecx
60351b:	8b 4e 28             	mov    0x28(%esi),%ecx
60351e:	83 cf ff             	or     $0xffffffff,%edi
603521:	85 c9                	test   %ecx,%ecx
603523:	74 11                	je     0x603536
603525:	8b c7                	mov    %edi,%eax
603527:	f0 0f c1 01          	lock xadd %eax,(%ecx)
60352b:	75 09                	jne    0x603536
60352d:	ff 76 28             	push   0x28(%esi)
603530:	e8 f3 12 00 00       	call   0x604828
603535:	59                   	pop    %ecx
603536:	8b 46 24             	mov    0x24(%esi),%eax
603539:	85 c0                	test   %eax,%eax
60353b:	74 10                	je     0x60354d
60353d:	f0 0f c1 38          	lock xadd %edi,(%eax)
603541:	4f                   	dec    %edi
603542:	75 09                	jne    0x60354d
603544:	ff 76 24             	push   0x24(%esi)
603547:	e8 dc 12 00 00       	call   0x604828
60354c:	59                   	pop    %ecx
60354d:	33 c0                	xor    %eax,%eax
60354f:	89 46 24             	mov    %eax,0x24(%esi)
603552:	89 46 1c             	mov    %eax,0x1c(%esi)
603555:	89 46 28             	mov    %eax,0x28(%esi)
603558:	89 46 20             	mov    %eax,0x20(%esi)
60355b:	8b 46 40             	mov    0x40(%esi),%eax
60355e:	eb af                	jmp    0x60350f
603560:	33 c0                	xor    %eax,%eax
603562:	50                   	push   %eax
603563:	50                   	push   %eax
603564:	50                   	push   %eax
603565:	50                   	push   %eax
603566:	50                   	push   %eax
603567:	e8 e0 99 fe ff       	call   0x5ecf4c
60356c:	cc                   	int3
60356d:	8b ff                	mov    %edi,%edi
60356f:	55                   	push   %ebp
603570:	8b ec                	mov    %esp,%ebp
603572:	81 ec d0 01 00 00    	sub    $0x1d0,%esp