5a0195:	85 c0                	test   %eax,%eax
5a0197:	0f 84 cb 01 00 00    	je     0x5a0368
5a019d:	8b 46 04             	mov    0x4(%esi),%eax
5a01a0:	8b 40 64             	mov    0x64(%eax),%eax
5a01a3:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a01a7:	0f 84 97 00 00 00    	je     0x5a0244
5a01ad:	8d 44 24 18          	lea    0x18(%esp),%eax
5a01b1:	50                   	push   %eax
5a01b2:	53                   	push   %ebx
5a01b3:	e8 08 b3 ff ff       	call   0x59b4c0
5a01b8:	83 c4 08             	add    $0x8,%esp
5a01bb:	85 c0                	test   %eax,%eax
5a01bd:	75 14                	jne    0x5a01d3
5a01bf:	68 ff 05 00 00       	push   $0x5ff
5a01c4:	68 e0 7b 66 00       	push   $0x667be0
5a01c9:	68 9f 00 00 00       	push   $0x9f
5a01ce:	e9 b5 01 00 00       	jmp    0x5a0388
5a01d3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a01d7:	3d 00 01 00 00       	cmp    $0x100,%eax
5a01dc:	76 1f                	jbe    0x5a01fd
5a01de:	68 06 06 00 00       	push   $0x606
5a01e3:	68 e0 7b 66 00       	push   $0x667be0
5a01e8:	6a 44                	push   $0x44
5a01ea:	68 7d 01 00 00       	push   $0x17d
5a01ef:	c7 47 4c 00 00 00 00 	movl   $0x0,0x4c(%edi)
5a01f6:	6a 50                	push   $0x50
5a01f8:	e9 92 01 00 00       	jmp    0x5a038f
5a01fd:	50                   	push   %eax
5a01fe:	ff 74 24 1c          	push   0x1c(%esp)
5a0202:	89 47 4c             	mov    %eax,0x4c(%edi)
5a0205:	8d 47 50             	lea    0x50(%edi),%eax
5a0208:	50                   	push   %eax
5a0209:	e8 c2 2b 03 00       	call   0x5d2dd0
5a020e:	56                   	push   %esi
5a020f:	e8 0c 94 fe ff       	call   0x589620
5a0214:	83 c4 10             	add    $0x10,%esp
5a0217:	a9 00 20 00 00       	test   $0x2000,%eax
5a021c:	74 26                	je     0x5a0244
5a021e:	83 7f 4c 00          	cmpl   $0x0,0x4c(%edi)
5a0222:	75 20                	jne    0x5a0244
5a0224:	68 10 06 00 00       	push   $0x610
5a0229:	68 e0 7b 66 00       	push   $0x667be0
5a022e:	57                   	push   %edi
5a022f:	e8 4c 05 f4 ff       	call   0x4e0780
5a0234:	83 c4 0c             	add    $0xc,%esp
5a0237:	b8 01 00 00 00       	mov    $0x1,%eax
5a023c:	5f                   	pop    %edi
5a023d:	5e                   	pop    %esi
5a023e:	5d                   	pop    %ebp
5a023f:	5b                   	pop    %ebx
5a0240:	83 c4 18             	add    $0x18,%esp
5a0243:	c3                   	ret
5a0244:	8d 87 50 01 00 00    	lea    0x150(%edi),%eax
5a024a:	50                   	push   %eax
5a024b:	53                   	push   %ebx
5a024c:	e8 bf b2 ff ff       	call   0x59b510
5a0251:	83 c4 08             	add    $0x8,%esp
5a0254:	85 c0                	test   %eax,%eax
5a0256:	75 14                	jne    0x5a026c
5a0258:	68 18 06 00 00       	push   $0x618
5a025d:	68 e0 7b 66 00       	push   $0x667be0
5a0262:	68 9f 00 00 00       	push   $0x9f
5a0267:	e9 1c 01 00 00       	jmp    0x5a0388
5a026c:	8d 44 24 18          	lea    0x18(%esp),%eax
5a0270:	50                   	push   %eax
5a0271:	53                   	push   %ebx
5a0272:	e8 49 b2 ff ff       	call   0x59b4c0
5a0277:	83 c4 08             	add    $0x8,%esp
5a027a:	85 c0                	test   %eax,%eax
5a027c:	75 14                	jne    0x5a0292
5a027e:	68 1e 06 00 00       	push   $0x61e
5a0283:	68 e0 7b 66 00       	push   $0x667be0
5a0288:	68 9f 00 00 00       	push   $0x9f
5a028d:	e9 f6 00 00 00       	jmp    0x5a0388
5a0292:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
5a0296:	8d af 5c 02 00 00    	lea    0x25c(%edi),%ebp
5a029c:	75 10                	jne    0x5a02ae
5a029e:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
5a02a5:	c7 45 04 00 00 00 00 	movl   $0x0,0x4(%ebp)
5a02ac:	eb 1c                	jmp    0x5a02ca
5a02ae:	55                   	push   %ebp
5a02af:	53                   	push   %ebx
5a02b0:	e8 5b b2 ff ff       	call   0x59b510
5a02b5:	83 c4 08             	add    $0x8,%esp
5a02b8:	85 c0                	test   %eax,%eax
5a02ba:	0f 84 97 00 00 00    	je     0x5a0357
5a02c0:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
5a02c4:	0f 85 8d 00 00 00    	jne    0x5a0357
5a02ca:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a02ce:	3d ff 00 00 00       	cmp    $0xff,%eax
5a02d3:	76 22                	jbe    0x5a02f7
5a02d5:	68 33 06 00 00       	push   $0x633
5a02da:	68 e0 7b 66 00       	push   $0x667be0
5a02df:	6a 44                	push   $0x44
5a02e1:	68 7d 01 00 00       	push   $0x17d
5a02e6:	c7 87 58 01 00 00 00 	movl   $0x0,0x158(%edi)
5a02ed:	00 00 00
5a02f0:	6a 50                	push   $0x50
5a02f2:	e9 98 00 00 00       	jmp    0x5a038f
5a02f7:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a02fb:	50                   	push   %eax
5a02fc:	89 87 58 01 00 00    	mov    %eax,0x158(%edi)
5a0302:	8d 87 5c 01 00 00    	lea    0x15c(%edi),%eax
5a0308:	51                   	push   %ecx
5a0309:	50                   	push   %eax
5a030a:	e8 c1 2a 03 00       	call   0x5d2dd0
5a030f:	8b 45 00             	mov    0x0(%ebp),%eax
5a0312:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a0316:	8b 45 04             	mov    0x4(%ebp),%eax
5a0319:	89 44 24 30          	mov    %eax,0x30(%esp)
5a031d:	8d 87 64 02 00 00    	lea    0x264(%edi),%eax
5a0323:	6a 01                	push   $0x1
5a0325:	50                   	push   %eax
5a0326:	8d 87 68 02 00 00    	lea    0x268(%edi),%eax
5a032c:	50                   	push   %eax
5a032d:	68 80 00 00 00       	push   $0x80
5a0332:	8d 44 24 3c          	lea    0x3c(%esp),%eax
5a0336:	50                   	push   %eax
5a0337:	56                   	push   %esi
5a0338:	e8 c3 51 00 00       	call   0x5a5500
5a033d:	83 c4 24             	add    $0x24,%esp
5a0340:	85 c0                	test   %eax,%eax
5a0342:	74 54                	je     0x5a0398
5a0344:	89 be c8 05 00 00    	mov    %edi,0x5c8(%esi)
5a034a:	b8 02 00 00 00       	mov    $0x2,%eax
5a034f:	5f                   	pop    %edi
5a0350:	5e                   	pop    %esi
5a0351:	5d                   	pop    %ebp
5a0352:	5b                   	pop    %ebx
5a0353:	83 c4 18             	add    $0x18,%esp
5a0356:	c3                   	ret
5a0357:	68 29 06 00 00       	push   $0x629
5a035c:	68 e0 7b 66 00       	push   $0x667be0
5a0361:	68 9f 00 00 00       	push   $0x9f
5a0366:	eb 20                	jmp    0x5a0388
5a0368:	68 f8 05 00 00       	push   $0x5f8
5a036d:	68 e0 7b 66 00       	push   $0x667be0
5a0372:	68 9f 00 00 00       	push   $0x9f
5a0377:	eb 0f                	jmp    0x5a0388
5a0379:	68 b5 05 00 00       	push   $0x5b5
5a037e:	68 e0 7b 66 00       	push   $0x667be0
5a0383:	68 a0 00 00 00       	push   $0xa0
5a0388:	68 7d 01 00 00       	push   $0x17d
5a038d:	6a 32                	push   $0x32
5a038f:	56                   	push   %esi
5a0390:	e8 7b ed fe ff       	call   0x58f110
5a0395:	83 c4 18             	add    $0x18,%esp
5a0398:	68 45 06 00 00       	push   $0x645
5a039d:	68 e0 7b 66 00       	push   $0x667be0
5a03a2:	ff b7 68 02 00 00    	push   0x268(%edi)
5a03a8:	e8 d3 03 f4 ff       	call   0x4e0780
5a03ad:	83 c4 0c             	add    $0xc,%esp
5a03b0:	68 46 06 00 00       	push   $0x646
5a03b5:	68 e0 7b 66 00       	push   $0x667be0
5a03ba:	57                   	push   %edi
5a03bb:	e8 c0 03 f4 ff       	call   0x4e0780
5a03c0:	83 c4 0c             	add    $0xc,%esp
5a03c3:	33 c0                	xor    %eax,%eax
5a03c5:	5f                   	pop    %edi
5a03c6:	5e                   	pop    %esi
5a03c7:	5d                   	pop    %ebp
5a03c8:	5b                   	pop    %ebx
5a03c9:	83 c4 18             	add    $0x18,%esp
5a03cc:	c3                   	ret
5a03cd:	cc                   	int3
5a03ce:	cc                   	int3
5a03cf:	cc                   	int3
5a03d0:	53                   	push   %ebx
5a03d1:	55                   	push   %ebp
5a03d2:	56                   	push   %esi
5a03d3:	8b 74 24 10          	mov    0x10(%esp),%esi
5a03d7:	57                   	push   %edi
5a03d8:	8b 7c 24 18          	mov    0x18(%esp),%edi
5a03dc:	8b 46 7c             	mov    0x7c(%esi),%eax
5a03df:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
5a03e5:	8b 58 10             	mov    0x10(%eax),%ebx
5a03e8:	f7 c3 c8 01 00 00    	test   $0x1c8,%ebx
5a03ee:	74 12                	je     0x5a0402
5a03f0:	57                   	push   %edi
5a03f1:	56                   	push   %esi
5a03f2:	e8 89 ef ff ff       	call   0x59f380
5a03f7:	83 c4 08             	add    $0x8,%esp
5a03fa:	85 c0                	test   %eax,%eax
5a03fc:	0f 84 49 03 00 00    	je     0x5a074b
5a0402:	f6 c3 08             	test   $0x8,%bl
5a0405:	74 35                	je     0x5a043c
5a0407:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5a040b:	74 1b                	je     0x5a0428
5a040d:	68 8a 0d 00 00       	push   $0xd8a
5a0412:	68 e0 7b 66 00       	push   $0x667be0
5a0417:	68 9f 00 00 00       	push   $0x9f
5a041c:	68 7e 01 00 00       	push   $0x17e
5a0421:	6a 32                	push   $0x32
5a0423:	e9 1a 03 00 00       	jmp    0x5a0742
5a0428:	6a 00                	push   $0x0
5a042a:	6a 00                	push   $0x0
5a042c:	6a 00                	push   $0x0
5a042e:	56                   	push   %esi
5a042f:	e8 4c d7 fe ff       	call   0x58db80
5a0434:	83 c4 10             	add    $0x10,%esp
5a0437:	e9 9a 02 00 00       	jmp    0x5a06d6
5a043c:	f6 c3 41             	test   $0x41,%bl
5a043f:	74 0f                	je     0x5a0450
5a0441:	57                   	push   %edi
5a0442:	56                   	push   %esi
5a0443:	e8 38 f1 ff ff       	call   0x59f580
5a0448:	83 c4 08             	add    $0x8,%esp
5a044b:	e9 86 02 00 00       	jmp    0x5a06d6
5a0450:	f7 c3 02 01 00 00    	test   $0x102,%ebx
5a0456:	74 0f                	je     0x5a0467
5a0458:	57                   	push   %edi
5a0459:	56                   	push   %esi
5a045a:	e8 41 ed ff ff       	call   0x59f1a0
5a045f:	83 c4 08             	add    $0x8,%esp
5a0462:	e9 6f 02 00 00       	jmp    0x5a06d6
5a0467:	f6 c3 84             	test   $0x84,%bl
5a046a:	0f 84 67 01 00 00    	je     0x5a05d7
5a0470:	8b 46 7c             	mov    0x7c(%esi),%eax
5a0473:	8b 4f 04             	mov    0x4(%edi),%ecx
5a0476:	8b 98 14 02 00 00    	mov    0x214(%eax),%ebx
5a047c:	85 c9                	test   %ecx,%ecx
5a047e:	75 2b                	jne    0x5a04ab
5a0480:	68 a6 0c 00 00       	push   $0xca6
5a0485:	68 e0 7b 66 00       	push   $0x667be0
5a048a:	68 37 01 00 00       	push   $0x137
5a048f:	68 9c 01 00 00       	push   $0x19c
5a0494:	6a 28                	push   $0x28
5a0496:	56                   	push   %esi
5a0497:	e8 74 ec fe ff       	call   0x58f110
5a049c:	6a 00                	push   $0x0
5a049e:	e8 3d 08 f5 ff       	call   0x4f0ce0
5a04a3:	83 c4 1c             	add    $0x1c,%esp
5a04a6:	e9 a0 02 00 00       	jmp    0x5a074b
5a04ab:	8b 07                	mov    (%edi),%eax
5a04ad:	49                   	dec    %ecx
5a04ae:	0f b6 28             	movzbl (%eax),%ebp
5a04b1:	40                   	inc    %eax
5a04b2:	89 44 24 14          	mov    %eax,0x14(%esp)
5a04b6:	89 07                	mov    %eax,(%edi)
5a04b8:	89 4f 04             	mov    %ecx,0x4(%edi)
5a04bb:	3b cd                	cmp    %ebp,%ecx
5a04bd:	0f 82 f9 00 00 00    	jb     0x5a05bc
5a04c3:	03 c5                	add    %ebp,%eax
5a04c5:	2b cd                	sub    %ebp,%ecx
5a04c7:	89 07                	mov    %eax,(%edi)
5a04c9:	89 4f 04             	mov    %ecx,0x4(%edi)
5a04cc:	0f 85 ea 00 00 00    	jne    0x5a05bc
5a04d2:	85 db                	test   %ebx,%ebx
5a04d4:	75 18                	jne    0x5a04ee
5a04d6:	68 ba 0c 00 00       	push   $0xcba
5a04db:	68 e0 7b 66 00       	push   $0x667be0
5a04e0:	68 37 01 00 00       	push   $0x137
5a04e5:	68 9c 01 00 00       	push   $0x19c
5a04ea:	6a 50                	push   $0x50
5a04ec:	eb a8                	jmp    0x5a0496
5a04ee:	e8 5d 0a f5 ff       	call   0x4f0f50
5a04f3:	8b f8                	mov    %eax,%edi
5a04f5:	85 ff                	test   %edi,%edi
5a04f7:	0f 84 98 00 00 00    	je     0x5a0595
5a04fd:	53                   	push   %ebx
5a04fe:	57                   	push   %edi
5a04ff:	e8 ec 06 f5 ff       	call   0x4f0bf0
5a0504:	83 c4 08             	add    $0x8,%esp
5a0507:	85 c0                	test   %eax,%eax
5a0509:	0f 8e 86 00 00 00    	jle    0x5a0595
5a050f:	55                   	push   %ebp
5a0510:	ff 74 24 18          	push   0x18(%esp)
5a0514:	57                   	push   %edi
5a0515:	e8 26 0d f5 ff       	call   0x4f1240
5a051a:	83 c4 0c             	add    $0xc,%esp
5a051d:	85 c0                	test   %eax,%eax
5a051f:	75 27                	jne    0x5a0548
5a0521:	68 c6 0c 00 00       	push   $0xcc6
5a0526:	68 e0 7b 66 00       	push   $0x667be0
5a052b:	6a 10                	push   $0x10
5a052d:	68 9c 01 00 00       	push   $0x19c
5a0532:	6a 50                	push   $0x50
5a0534:	56                   	push   %esi
5a0535:	e8 d6 eb fe ff       	call   0x58f110
5a053a:	57                   	push   %edi
5a053b:	e8 a0 07 f5 ff       	call   0x4f0ce0
5a0540:	83 c4 1c             	add    $0x1c,%esp
5a0543:	e9 03 02 00 00       	jmp    0x5a074b
5a0548:	6a 01                	push   $0x1
5a054a:	57                   	push   %edi
5a054b:	53                   	push   %ebx
5a054c:	56                   	push   %esi
5a054d:	e8 4e d3 fe ff       	call   0x58d8a0
5a0552:	83 c4 10             	add    $0x10,%esp
5a0555:	85 c0                	test   %eax,%eax
5a0557:	74 2e                	je     0x5a0587
5a0559:	8b 46 7c             	mov    0x7c(%esi),%eax
5a055c:	ff b0 14 02 00 00    	push   0x214(%eax)
5a0562:	e8 79 07 f5 ff       	call   0x4f0ce0
5a0567:	8b 46 7c             	mov    0x7c(%esi),%eax
5a056a:	57                   	push   %edi
5a056b:	c7 80 14 02 00 00 00 	movl   $0x0,0x214(%eax)
5a0572:	00 00 00
5a0575:	e8 66 07 f5 ff       	call   0x4f0ce0
5a057a:	83 c4 08             	add    $0x8,%esp
5a057d:	b8 02 00 00 00       	mov    $0x2,%eax
5a0582:	5f                   	pop    %edi
5a0583:	5e                   	pop    %esi
5a0584:	5d                   	pop    %ebp
5a0585:	5b                   	pop    %ebx
5a0586:	c3                   	ret
5a0587:	57                   	push   %edi
5a0588:	e8 53 07 f5 ff       	call   0x4f0ce0
5a058d:	83 c4 04             	add    $0x4,%esp
5a0590:	e9 b6 01 00 00       	jmp    0x5a074b
5a0595:	68 c1 0c 00 00       	push   $0xcc1
5a059a:	68 e0 7b 66 00       	push   $0x667be0
5a059f:	6a 06                	push   $0x6
5a05a1:	68 9c 01 00 00       	push   $0x19c
5a05a6:	6a 50                	push   $0x50
5a05a8:	56                   	push   %esi
5a05a9:	e8 62 eb fe ff       	call   0x58f110
5a05ae:	57                   	push   %edi
5a05af:	e8 2c 07 f5 ff       	call   0x4f0ce0
5a05b4:	83 c4 1c             	add    $0x1c,%esp
5a05b7:	e9 8f 01 00 00       	jmp    0x5a074b
5a05bc:	68 b5 0c 00 00       	push   $0xcb5
5a05c1:	68 e0 7b 66 00       	push   $0x667be0
5a05c6:	68 9f 00 00 00       	push   $0x9f
5a05cb:	68 9c 01 00 00       	push   $0x19c
5a05d0:	6a 32                	push   $0x32
5a05d2:	e9 bf fe ff ff       	jmp    0x5a0496
5a05d7:	f6 c3 20             	test   $0x20,%bl
5a05da:	0f 84 34 01 00 00    	je     0x5a0714
5a05e0:	8b 5f 04             	mov    0x4(%edi),%ebx
5a05e3:	83 fb 02             	cmp    $0x2,%ebx
5a05e6:	0f 82 10 01 00 00    	jb     0x5a06fc
5a05ec:	8b 0f                	mov    (%edi),%ecx
5a05ee:	83 c3 fe             	add    $0xfffffffe,%ebx
5a05f1:	0f b6 11             	movzbl (%ecx),%edx
5a05f4:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
5a05f8:	83 c1 02             	add    $0x2,%ecx
5a05fb:	c1 e2 08             	shl    $0x8,%edx
5a05fe:	0b d0                	or     %eax,%edx
5a0600:	89 0f                	mov    %ecx,(%edi)
5a0602:	89 5f 04             	mov    %ebx,0x4(%edi)
5a0605:	3b da                	cmp    %edx,%ebx
5a0607:	0f 82 ef 00 00 00    	jb     0x5a06fc
5a060d:	6a 00                	push   $0x0
5a060f:	52                   	push   %edx
5a0610:	8d 04 11             	lea    (%ecx,%edx,1),%eax
5a0613:	2b da                	sub    %edx,%ebx
5a0615:	51                   	push   %ecx
5a0616:	89 07                	mov    %eax,(%edi)
5a0618:	89 5f 04             	mov    %ebx,0x4(%edi)