5a7098:	8b 46 6c             	mov    0x6c(%esi),%eax
5a709b:	ff 75 2c             	push   0x2c(%ebp)
5a709e:	ff 70 04             	push   0x4(%eax)
5a70a1:	e8 2a bd 02 00       	call   0x5d2dd0
5a70a6:	8b 45 04             	mov    0x4(%ebp),%eax
5a70a9:	03 c7                	add    %edi,%eax
5a70ab:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5a70b1:	89 46 74             	mov    %eax,0x74(%esi)
5a70b4:	8a 45 00             	mov    0x0(%ebp),%al
5a70b7:	8b 5d 10             	mov    0x10(%ebp),%ebx
5a70ba:	0f b7 55 08          	movzwl 0x8(%ebp),%edx
5a70be:	8b 4d 04             	mov    0x4(%ebp),%ecx
5a70c1:	89 9f 30 01 00 00    	mov    %ebx,0x130(%edi)
5a70c7:	8d 9e 50 06 00 00    	lea    0x650(%esi),%ebx
5a70cd:	88 87 20 01 00 00    	mov    %al,0x120(%edi)
5a70d3:	89 8f 24 01 00 00    	mov    %ecx,0x124(%edi)
5a70d9:	66 89 97 28 01 00 00 	mov    %dx,0x128(%edi)
5a70e0:	c7 87 2c 01 00 00 00 	movl   $0x0,0x12c(%edi)
5a70e7:	00 00 00
5a70ea:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
5a70f0:	8b 7c 24 20          	mov    0x20(%esp),%edi
5a70f4:	89 44 24 24          	mov    %eax,0x24(%esp)
5a70f8:	8b 86 00 04 00 00    	mov    0x400(%esi),%eax
5a70fe:	89 44 24 28          	mov    %eax,0x28(%esp)
5a7102:	8b 86 e4 03 00 00    	mov    0x3e4(%esi),%eax
5a7108:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a710c:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a7112:	89 44 24 30          	mov    %eax,0x30(%esp)
5a7116:	8b 86 38 0f 00 00    	mov    0xf38(%esi),%eax
5a711c:	0f b7 68 02          	movzwl 0x2(%eax),%ebp
5a7120:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7126:	c7 80 90 01 00 00 01 	movl   $0x1,0x190(%eax)
5a712d:	00 00 00
5a7130:	8b 47 18             	mov    0x18(%edi),%eax
5a7133:	89 86 ec 03 00 00    	mov    %eax,0x3ec(%esi)
5a7139:	8b 47 1c             	mov    0x1c(%edi),%eax
5a713c:	89 86 00 04 00 00    	mov    %eax,0x400(%esi)
5a7142:	8b 47 20             	mov    0x20(%edi),%eax
5a7145:	89 86 e4 03 00 00    	mov    %eax,0x3e4(%esi)
5a714b:	8b 47 24             	mov    0x24(%edi),%eax
5a714e:	89 86 74 04 00 00    	mov    %eax,0x474(%esi)
5a7154:	0f b7 47 28          	movzwl 0x28(%edi),%eax
5a7158:	50                   	push   %eax
5a7159:	53                   	push   %ebx
5a715a:	e8 e1 73 00 00       	call   0x5ae540
5a715f:	33 c0                	xor    %eax,%eax
5a7161:	39 47 14             	cmp    %eax,0x14(%edi)
5a7164:	0f 94 c0             	sete   %al
5a7167:	8d 04 45 14 00 00 00 	lea    0x14(,%eax,2),%eax
5a716e:	50                   	push   %eax
5a716f:	56                   	push   %esi
5a7170:	e8 eb f1 ff ff       	call   0x5a6360
5a7175:	8b f8                	mov    %eax,%edi
5a7177:	8b 44 24 34          	mov    0x34(%esp),%eax
5a717b:	89 86 ec 03 00 00    	mov    %eax,0x3ec(%esi)
5a7181:	8b 44 24 38          	mov    0x38(%esp),%eax
5a7185:	89 86 00 04 00 00    	mov    %eax,0x400(%esi)
5a718b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5a718f:	89 86 e4 03 00 00    	mov    %eax,0x3e4(%esi)
5a7195:	8b 44 24 40          	mov    0x40(%esp),%eax
5a7199:	55                   	push   %ebp
5a719a:	53                   	push   %ebx
5a719b:	89 86 74 04 00 00    	mov    %eax,0x474(%esi)
5a71a1:	e8 9a 73 00 00       	call   0x5ae540
5a71a6:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5a71ac:	6a 00                	push   $0x0
5a71ae:	6a 00                	push   $0x0
5a71b0:	6a 0b                	push   $0xb
5a71b2:	c7 81 90 01 00 00 00 	movl   $0x0,0x190(%ecx)
5a71b9:	00 00 00
5a71bc:	ff 76 0c             	push   0xc(%esi)
5a71bf:	e8 6c 19 f5 ff       	call   0x4f8b30
5a71c4:	83 c4 34             	add    $0x34,%esp
5a71c7:	85 ff                	test   %edi,%edi
5a71c9:	7e 2e                	jle    0x5a71f9
5a71cb:	8d 44 24 10          	lea    0x10(%esp),%eax
5a71cf:	50                   	push   %eax
5a71d0:	e8 4b 15 01 00       	call   0x5b8720
5a71d5:	83 c4 04             	add    $0x4,%esp
5a71d8:	e9 52 fe ff ff       	jmp    0x5a702f
5a71dd:	68 5b 04 00 00       	push   $0x45b
5a71e2:	68 50 80 66 00       	push   $0x668050
5a71e7:	6a 44                	push   $0x44
5a71e9:	68 86 01 00 00       	push   $0x186
5a71ee:	6a 50                	push   $0x50
5a71f0:	56                   	push   %esi
5a71f1:	e8 1a 7f fe ff       	call   0x58f110
5a71f6:	83 c4 18             	add    $0x18,%esp
5a71f9:	5f                   	pop    %edi
5a71fa:	5e                   	pop    %esi
5a71fb:	5d                   	pop    %ebp
5a71fc:	83 c8 ff             	or     $0xffffffff,%eax
5a71ff:	5b                   	pop    %ebx
5a7200:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a7204:	33 cc                	xor    %esp,%ecx
5a7206:	e8 1b a8 02 00       	call   0x5d1a26
5a720b:	83 c4 24             	add    $0x24,%esp
5a720e:	c3                   	ret
5a720f:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5a7213:	b8 01 00 00 00       	mov    $0x1,%eax
5a7218:	5f                   	pop    %edi
5a7219:	5e                   	pop    %esi
5a721a:	5d                   	pop    %ebp
5a721b:	5b                   	pop    %ebx
5a721c:	33 cc                	xor    %esp,%ecx
5a721e:	e8 03 a8 02 00       	call   0x5d1a26
5a7223:	83 c4 24             	add    $0x24,%esp
5a7226:	c3                   	ret
5a7227:	cc                   	int3
5a7228:	cc                   	int3
5a7229:	cc                   	int3
5a722a:	cc                   	int3
5a722b:	cc                   	int3
5a722c:	cc                   	int3
5a722d:	cc                   	int3
5a722e:	cc                   	int3
5a722f:	cc                   	int3
5a7230:	b8 04 00 00 00       	mov    $0x4,%eax
5a7235:	e8 76 a5 02 00       	call   0x5d17b0
5a723a:	8b 54 24 08          	mov    0x8(%esp),%edx
5a723e:	53                   	push   %ebx
5a723f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5a7243:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a7249:	66 8b 81 0a 01 00 00 	mov    0x10a(%ecx),%ax
5a7250:	66 89 81 08 01 00 00 	mov    %ax,0x108(%ecx)
5a7257:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a725d:	81 fb 01 01 00 00    	cmp    $0x101,%ebx
5a7263:	75 4c                	jne    0x5a72b1
5a7265:	0f b7 81 08 01 00 00 	movzwl 0x108(%ecx),%eax
5a726c:	6a 01                	push   $0x1
5a726e:	6a 01                	push   $0x1
5a7270:	ff 74 24 18          	push   0x18(%esp)
5a7274:	c6 81 20 01 00 00 01 	movb   $0x1,0x120(%ecx)
5a727b:	c7 81 24 01 00 00 00 	movl   $0x0,0x124(%ecx)
5a7282:	00 00 00
5a7285:	66 89 81 28 01 00 00 	mov    %ax,0x128(%ecx)
5a728c:	c7 81 2c 01 00 00 00 	movl   $0x0,0x12c(%ecx)
5a7293:	00 00 00
5a7296:	c7 81 30 01 00 00 00 	movl   $0x0,0x130(%ecx)
5a729d:	00 00 00
5a72a0:	e8 fb cc ff ff       	call   0x5a3fa0
5a72a5:	83 c4 0c             	add    $0xc,%esp
5a72a8:	85 c0                	test   %eax,%eax
5a72aa:	75 6b                	jne    0x5a7317
5a72ac:	33 c0                	xor    %eax,%eax
5a72ae:	5b                   	pop    %ebx
5a72af:	59                   	pop    %ecx
5a72b0:	c3                   	ret
5a72b1:	66 ff 81 0a 01 00 00 	incw   0x10a(%ecx)
5a72b8:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
5a72be:	0f b7 81 08 01 00 00 	movzwl 0x108(%ecx),%eax
5a72c5:	66 89 81 28 01 00 00 	mov    %ax,0x128(%ecx)
5a72cc:	8d 44 24 04          	lea    0x4(%esp),%eax
5a72d0:	50                   	push   %eax
5a72d1:	6a 0c                	push   $0xc
5a72d3:	ff 74 24 18          	push   0x18(%esp)
5a72d7:	88 99 20 01 00 00    	mov    %bl,0x120(%ecx)
5a72dd:	c7 81 24 01 00 00 00 	movl   $0x0,0x124(%ecx)
5a72e4:	00 00 00
5a72e7:	c7 81 2c 01 00 00 00 	movl   $0x0,0x12c(%ecx)
5a72ee:	00 00 00
5a72f1:	c7 81 30 01 00 00 00 	movl   $0x0,0x130(%ecx)
5a72f8:	00 00 00
5a72fb:	e8 70 c9 ff ff       	call   0x5a3c70
5a7300:	83 c4 0c             	add    $0xc,%esp
5a7303:	85 c0                	test   %eax,%eax
5a7305:	74 a5                	je     0x5a72ac
5a7307:	ff 74 24 10          	push   0x10(%esp)
5a730b:	e8 a0 cd ff ff       	call   0x5a40b0
5a7310:	83 c4 04             	add    $0x4,%esp
5a7313:	85 c0                	test   %eax,%eax
5a7315:	74 95                	je     0x5a72ac
5a7317:	b8 01 00 00 00       	mov    $0x1,%eax
5a731c:	5b                   	pop    %ebx
5a731d:	59                   	pop    %ecx
5a731e:	c3                   	ret
5a731f:	cc                   	int3
5a7320:	56                   	push   %esi
5a7321:	8b 74 24 08          	mov    0x8(%esp),%esi
5a7325:	81 3e 00 01 00 00    	cmpl   $0x100,(%esi)
5a732b:	75 4d                	jne    0x5a737a
5a732d:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7333:	6a 02                	push   $0x2
5a7335:	66 ff 80 0a 01 00 00 	incw   0x10a(%eax)
5a733c:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a7342:	0f b7 80 08 01 00 00 	movzwl 0x108(%eax),%eax
5a7349:	50                   	push   %eax
5a734a:	ff 74 24 14          	push   0x14(%esp)
5a734e:	e8 4d cc ff ff       	call   0x5a3fa0
5a7353:	83 c4 0c             	add    $0xc,%esp
5a7356:	85 c0                	test   %eax,%eax
5a7358:	75 20                	jne    0x5a737a
5a735a:	68 96 03 00 00       	push   $0x396
5a735f:	68 50 80 66 00       	push   $0x668050
5a7364:	6a 44                	push   $0x44
5a7366:	68 73 01 00 00       	push   $0x173
5a736b:	6a 50                	push   $0x50
5a736d:	56                   	push   %esi
5a736e:	e8 9d 7d fe ff       	call   0x58f110
5a7373:	83 c4 18             	add    $0x18,%esp
5a7376:	33 c0                	xor    %eax,%eax
5a7378:	5e                   	pop    %esi
5a7379:	c3                   	ret
5a737a:	b8 01 00 00 00       	mov    $0x1,%eax
5a737f:	5e                   	pop    %esi
5a7380:	c3                   	ret
5a7381:	cc                   	int3
5a7382:	cc                   	int3
5a7383:	cc                   	int3
5a7384:	cc                   	int3
5a7385:	cc                   	int3
5a7386:	cc                   	int3
5a7387:	cc                   	int3
5a7388:	cc                   	int3
5a7389:	cc                   	int3
5a738a:	cc                   	int3
5a738b:	cc                   	int3
5a738c:	cc                   	int3
5a738d:	cc                   	int3
5a738e:	cc                   	int3
5a738f:	cc                   	int3
5a7390:	b8 04 00 00 00       	mov    $0x4,%eax
5a7395:	e8 16 a4 02 00       	call   0x5d17b0
5a739a:	53                   	push   %ebx
5a739b:	55                   	push   %ebp
5a739c:	56                   	push   %esi
5a739d:	8b 74 24 14          	mov    0x14(%esp),%esi
5a73a1:	57                   	push   %edi
5a73a2:	6a 2c                	push   $0x2c
5a73a4:	6a 00                	push   $0x0
5a73a6:	8b ae 80 00 00 00    	mov    0x80(%esi),%ebp
5a73ac:	81 c5 4c 01 00 00    	add    $0x14c,%ebp
5a73b2:	55                   	push   %ebp
5a73b3:	e8 b8 b8 02 00       	call   0x5d2c70
5a73b8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a73bc:	50                   	push   %eax
5a73bd:	8d 44 24 28          	lea    0x28(%esp),%eax
5a73c1:	50                   	push   %eax
5a73c2:	56                   	push   %esi
5a73c3:	e8 78 01 00 00       	call   0x5a7540
5a73c8:	83 c4 18             	add    $0x18,%esp
5a73cb:	85 c0                	test   %eax,%eax
5a73cd:	75 2a                	jne    0x5a73f9
5a73cf:	90                   	nop
5a73d0:	8b 44 24 18          	mov    0x18(%esp),%eax
5a73d4:	83 f8 fe             	cmp    $0xfffffffe,%eax
5a73d7:	74 09                	je     0x5a73e2
5a73d9:	83 f8 fd             	cmp    $0xfffffffd,%eax
5a73dc:	0f 85 fb 00 00 00    	jne    0x5a74dd
5a73e2:	8d 44 24 10          	lea    0x10(%esp),%eax
5a73e6:	50                   	push   %eax
5a73e7:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5a73eb:	50                   	push   %eax
5a73ec:	56                   	push   %esi
5a73ed:	e8 4e 01 00 00       	call   0x5a7540
5a73f2:	83 c4 0c             	add    $0xc,%esp
5a73f5:	85 c0                	test   %eax,%eax
5a73f7:	74 d7                	je     0x5a73d0
5a73f9:	8b 46 7c             	mov    0x7c(%esi),%eax
5a73fc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5a7400:	8b 80 0c 02 00 00    	mov    0x20c(%eax),%eax
5a7406:	89 02                	mov    %eax,(%edx)
5a7408:	8b 46 6c             	mov    0x6c(%esi),%eax
5a740b:	8b 4e 74             	mov    0x74(%esi),%ecx
5a740e:	8b 78 04             	mov    0x4(%eax),%edi
5a7411:	8b 44 24 20          	mov    0x20(%esp),%eax
5a7415:	89 08                	mov    %ecx,(%eax)
5a7417:	81 3a 01 01 00 00    	cmpl   $0x101,(%edx)
5a741d:	75 2e                	jne    0x5a744d
5a741f:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
5a7425:	85 c0                	test   %eax,%eax
5a7427:	0f 84 fc 00 00 00    	je     0x5a7529
5a742d:	ff b6 88 00 00 00    	push   0x88(%esi)
5a7433:	56                   	push   %esi
5a7434:	6a 01                	push   $0x1
5a7436:	57                   	push   %edi
5a7437:	6a 14                	push   $0x14
5a7439:	ff 36                	push   (%esi)
5a743b:	6a 00                	push   $0x0
5a743d:	ff d0                	call   *%eax
5a743f:	83 c4 1c             	add    $0x1c,%esp
5a7442:	b8 01 00 00 00       	mov    $0x1,%eax
5a7447:	5f                   	pop    %edi
5a7448:	5e                   	pop    %esi
5a7449:	5d                   	pop    %ebp
5a744a:	5b                   	pop    %ebx
5a744b:	59                   	pop    %ecx
5a744c:	c3                   	ret
5a744d:	8b 5d 04             	mov    0x4(%ebp),%ebx
5a7450:	8b d3                	mov    %ebx,%edx
5a7452:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
5a7456:	8b cb                	mov    %ebx,%ecx
5a7458:	88 07                	mov    %al,(%edi)
5a745a:	c1 ea 10             	shr    $0x10,%edx
5a745d:	c1 e9 08             	shr    $0x8,%ecx
5a7460:	88 57 01             	mov    %dl,0x1(%edi)
5a7463:	88 4f 02             	mov    %cl,0x2(%edi)
5a7466:	88 5f 03             	mov    %bl,0x3(%edi)
5a7469:	0f b6 45 09          	movzbl 0x9(%ebp),%eax
5a746d:	88 47 04             	mov    %al,0x4(%edi)
5a7470:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5a7474:	88 47 05             	mov    %al,0x5(%edi)
5a7477:	66 c7 47 06 00 00    	movw   $0x0,0x6(%edi)
5a747d:	c6 47 08 00          	movb   $0x0,0x8(%edi)
5a7481:	83 c7 09             	add    $0x9,%edi
5a7484:	89 5c 24 18          	mov    %ebx,0x18(%esp)
5a7488:	88 17                	mov    %dl,(%edi)
5a748a:	88 4f 01             	mov    %cl,0x1(%edi)
5a748d:	88 5f 02             	mov    %bl,0x2(%edi)
5a7490:	8b 06                	mov    (%esi),%eax
5a7492:	3d 00 01 00 00       	cmp    $0x100,%eax
5a7497:	74 07                	je     0x5a74a0
5a7499:	83 c3 0c             	add    $0xc,%ebx
5a749c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
5a74a0:	3d 00 01 00 00       	cmp    $0x100,%eax
5a74a5:	bb f7 ff ff ff       	mov    $0xfffffff7,%ebx
5a74aa:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a74ae:	b9 03 00 00 00       	mov    $0x3,%ecx
5a74b3:	0f 44 d9             	cmove  %ecx,%ebx
5a74b6:	03 df                	add    %edi,%ebx
5a74b8:	83 38 14             	cmpl   $0x14,(%eax)
5a74bb:	75 0d                	jne    0x5a74ca
5a74bd:	56                   	push   %esi
5a74be:	e8 5d c8 fe ff       	call   0x593d20
5a74c3:	83 c4 04             	add    $0x4,%esp
5a74c6:	85 c0                	test   %eax,%eax
5a74c8:	74 13                	je     0x5a74dd
5a74ca:	8b 7c 24 18          	mov    0x18(%esp),%edi
5a74ce:	57                   	push   %edi
5a74cf:	53                   	push   %ebx
5a74d0:	56                   	push   %esi
5a74d1:	e8 9a bf ff ff       	call   0x5a3470
5a74d6:	83 c4 0c             	add    $0xc,%esp
5a74d9:	85 c0                	test   %eax,%eax
5a74db:	75 08                	jne    0x5a74e5
5a74dd:	5f                   	pop    %edi
5a74de:	5e                   	pop    %esi
5a74df:	5d                   	pop    %ebp
5a74e0:	33 c0                	xor    %eax,%eax
5a74e2:	5b                   	pop    %ebx
5a74e3:	59                   	pop    %ecx
5a74e4:	c3                   	ret
5a74e5:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
5a74eb:	85 c0                	test   %eax,%eax
5a74ed:	74 14                	je     0x5a7503
5a74ef:	ff b6 88 00 00 00    	push   0x88(%esi)
5a74f5:	56                   	push   %esi
5a74f6:	57                   	push   %edi
5a74f7:	53                   	push   %ebx
5a74f8:	6a 16                	push   $0x16