51d214:	8b 42 30             	mov    0x30(%edx),%eax
51d217:	89 81 80 00 00 00    	mov    %eax,0x80(%ecx)
51d21d:	8b 42 34             	mov    0x34(%edx),%eax
51d220:	89 81 84 00 00 00    	mov    %eax,0x84(%ecx)
51d226:	e8 a5 f8 fe ff       	call   0x50cad0
51d22b:	8d 45 98             	lea    -0x68(%ebp),%eax
51d22e:	50                   	push   %eax
51d22f:	6a 64                	push   $0x64
51d231:	ff 37                	push   (%edi)
51d233:	e8 c8 5e 01 00       	call   0x533100
51d238:	83 c4 10             	add    $0x10,%esp
51d23b:	89 45 94             	mov    %eax,-0x6c(%ebp)
51d23e:	85 c0                	test   %eax,%eax
51d240:	0f 85 79 02 00 00    	jne    0x51d4bf
51d246:	8b 45 8c             	mov    -0x74(%ebp),%eax
51d249:	89 47 04             	mov    %eax,0x4(%edi)
51d24c:	8b 07                	mov    (%edi),%eax
51d24e:	88 5f 10             	mov    %bl,0x10(%edi)
51d251:	c7 80 b0 00 00 00 30 	movl   $0x4f6f30,0xb0(%eax)
51d258:	6f 4f 00
51d25b:	8d 88 b0 00 00 00    	lea    0xb0(%eax),%ecx
51d261:	89 b8 b4 00 00 00    	mov    %edi,0xb4(%eax)
51d267:	8b 40 3c             	mov    0x3c(%eax),%eax
51d26a:	8b 10                	mov    (%eax),%edx
51d26c:	85 d2                	test   %edx,%edx
51d26e:	74 0c                	je     0x51d27c
51d270:	51                   	push   %ecx
51d271:	6a 0f                	push   $0xf
51d273:	50                   	push   %eax
51d274:	8b 42 28             	mov    0x28(%edx),%eax
51d277:	ff d0                	call   *%eax
51d279:	83 c4 0c             	add    $0xc,%esp
51d27c:	89 7e 04             	mov    %edi,0x4(%esi)
51d27f:	8b 17                	mov    (%edi),%edx
51d281:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
51d288:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
51d28f:	80 7a 0e 00          	cmpb   $0x0,0xe(%edx)
51d293:	74 05                	je     0x51d29a
51d295:	66 83 4f 16 01       	orw    $0x1,0x16(%edi)
51d29a:	0f b6 4d a9          	movzbl -0x57(%ebp),%ecx
51d29e:	8d 5f 20             	lea    0x20(%edi),%ebx
51d2a1:	0f b6 45 a8          	movzbl -0x58(%ebp),%eax
51d2a5:	c1 e1 08             	shl    $0x8,%ecx
51d2a8:	0b c8                	or     %eax,%ecx
51d2aa:	c1 e1 08             	shl    $0x8,%ecx
51d2ad:	89 0b                	mov    %ecx,(%ebx)
51d2af:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
51d2b5:	72 33                	jb     0x51d2ea
51d2b7:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
51d2bd:	77 2b                	ja     0x51d2ea
51d2bf:	8d 41 ff             	lea    -0x1(%ecx),%eax
51d2c2:	85 c1                	test   %eax,%ecx
51d2c4:	75 24                	jne    0x51d2ea
51d2c6:	8a 4d ac             	mov    -0x54(%ebp),%cl
51d2c9:	66 83 4f 16 02       	orw    $0x2,0x16(%edi)
51d2ce:	8b 45 cc             	mov    -0x34(%ebp),%eax
51d2d1:	0f c8                	bswap  %eax
51d2d3:	85 c0                	test   %eax,%eax
51d2d5:	0f 95 c0             	setne  %al
51d2d8:	88 47 11             	mov    %al,0x11(%edi)
51d2db:	8b 45 d8             	mov    -0x28(%ebp),%eax
51d2de:	0f c8                	bswap  %eax
51d2e0:	85 c0                	test   %eax,%eax
51d2e2:	0f 95 c0             	setne  %al
51d2e5:	88 47 12             	mov    %al,0x12(%edi)
51d2e8:	eb 1d                	jmp    0x51d307
51d2ea:	83 7d 84 00          	cmpl   $0x0,-0x7c(%ebp)
51d2ee:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
51d2f4:	74 0f                	je     0x51d305
51d2f6:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
51d2fd:	75 06                	jne    0x51d305
51d2ff:	66 c7 47 11 00 00    	movw   $0x0,0x11(%edi)
51d305:	32 c9                	xor    %cl,%cl
51d307:	0f b6 c1             	movzbl %cl,%eax
51d30a:	50                   	push   %eax
51d30b:	53                   	push   %ebx
51d30c:	52                   	push   %edx
51d30d:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
51d313:	e8 98 61 01 00       	call   0x5334b0
51d318:	83 c4 0c             	add    $0xc,%esp
51d31b:	89 45 94             	mov    %eax,-0x6c(%ebp)
51d31e:	85 c0                	test   %eax,%eax
51d320:	0f 85 99 01 00 00    	jne    0x51d4bf
51d326:	8b 03                	mov    (%ebx),%eax
51d328:	2b 85 70 ff ff ff    	sub    -0x90(%ebp),%eax
51d32e:	89 47 24             	mov    %eax,0x24(%edi)
51d331:	c7 47 40 01 00 00 00 	movl   $0x1,0x40(%edi)
51d338:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d33c:	0f 84 e1 00 00 00    	je     0x51d423
51d342:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
51d349:	75 04                	jne    0x51d34f
51d34b:	33 db                	xor    %ebx,%ebx
51d34d:	eb 2c                	jmp    0x51d37b
51d34f:	6a 02                	push   $0x2
51d351:	ff 15 58 18 72 00    	call   *0x721858
51d357:	83 c4 04             	add    $0x4,%esp
51d35a:	8b d8                	mov    %eax,%ebx
51d35c:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
51d363:	74 16                	je     0x51d37b
51d365:	6a 00                	push   $0x0
51d367:	ff 15 58 18 72 00    	call   *0x721858
51d36d:	83 c4 04             	add    $0x4,%esp
51d370:	89 47 38             	mov    %eax,0x38(%edi)
51d373:	85 c0                	test   %eax,%eax
51d375:	0f 84 3d 01 00 00    	je     0x51d4b8
51d37b:	53                   	push   %ebx
51d37c:	e8 2f f5 fc ff       	call   0x4ec8b0
51d381:	a1 84 02 73 00       	mov    0x730284,%eax
51d386:	53                   	push   %ebx
51d387:	89 47 44             	mov    %eax,0x44(%edi)
51d38a:	89 3d 84 02 73 00    	mov    %edi,0x730284
51d390:	e8 bb f5 fc ff       	call   0x4ec950
51d395:	83 c4 08             	add    $0x8,%esp
51d398:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d39c:	0f 84 81 00 00 00    	je     0x51d423
51d3a2:	8b 45 8c             	mov    -0x74(%ebp),%eax
51d3a5:	33 d2                	xor    %edx,%edx
51d3a7:	8b 58 14             	mov    0x14(%eax),%ebx
51d3aa:	85 db                	test   %ebx,%ebx
51d3ac:	7e 75                	jle    0x51d423
51d3ae:	8b 40 10             	mov    0x10(%eax),%eax
51d3b1:	83 c0 04             	add    $0x4,%eax
51d3b4:	8b 08                	mov    (%eax),%ecx
51d3b6:	85 c9                	test   %ecx,%ecx
51d3b8:	74 06                	je     0x51d3c0
51d3ba:	80 79 09 00          	cmpb   $0x0,0x9(%ecx)
51d3be:	75 0a                	jne    0x51d3ca
51d3c0:	42                   	inc    %edx
51d3c1:	83 c0 10             	add    $0x10,%eax
51d3c4:	3b d3                	cmp    %ebx,%edx
51d3c6:	7c ec                	jl     0x51d3b4
51d3c8:	eb 59                	jmp    0x51d423
51d3ca:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
51d3ce:	8d 41 1c             	lea    0x1c(%ecx),%eax
51d3d1:	74 0b                	je     0x51d3de
51d3d3:	8b 08                	mov    (%eax),%ecx
51d3d5:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
51d3d9:	8d 41 1c             	lea    0x1c(%ecx),%eax
51d3dc:	75 f5                	jne    0x51d3d3
51d3de:	8b 56 04             	mov    0x4(%esi),%edx
51d3e1:	3b 51 04             	cmp    0x4(%ecx),%edx
51d3e4:	73 0f                	jae    0x51d3f5
51d3e6:	89 4e 18             	mov    %ecx,0x18(%esi)
51d3e9:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
51d3f0:	89 71 1c             	mov    %esi,0x1c(%ecx)
51d3f3:	eb 2e                	jmp    0x51d423
51d3f5:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
51d3f9:	74 15                	je     0x51d410
51d3fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
51d400:	8b 41 18             	mov    0x18(%ecx),%eax
51d403:	39 50 04             	cmp    %edx,0x4(%eax)
51d406:	73 08                	jae    0x51d410
51d408:	8b c8                	mov    %eax,%ecx
51d40a:	83 79 18 00          	cmpl   $0x0,0x18(%ecx)
51d40e:	75 f0                	jne    0x51d400
51d410:	8b 41 18             	mov    0x18(%ecx),%eax
51d413:	89 46 18             	mov    %eax,0x18(%esi)
51d416:	89 4e 1c             	mov    %ecx,0x1c(%esi)
51d419:	85 c0                	test   %eax,%eax
51d41b:	74 03                	je     0x51d420
51d41d:	89 70 1c             	mov    %esi,0x1c(%eax)
51d420:	89 71 18             	mov    %esi,0x18(%ecx)
51d423:	8b 5d 88             	mov    -0x78(%ebp),%ebx
51d426:	89 33                	mov    %esi,(%ebx)
51d428:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
51d42c:	0f 85 90 00 00 00    	jne    0x51d4c2
51d432:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d436:	8b 5e 04             	mov    0x4(%esi),%ebx
51d439:	74 27                	je     0x51d462
51d43b:	ff 46 0c             	incl   0xc(%esi)
51d43e:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
51d442:	75 09                	jne    0x51d44d
51d444:	56                   	push   %esi
51d445:	e8 86 9b fd ff       	call   0x4f6fd0
51d44a:	83 c4 04             	add    $0x4,%esp
51d44d:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
51d451:	74 0f                	je     0x51d462
51d453:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
51d457:	75 09                	jne    0x51d462
51d459:	56                   	push   %esi
51d45a:	e8 71 b5 03 00       	call   0x5589d0
51d45f:	83 c4 04             	add    $0x4,%esp
51d462:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
51d466:	75 34                	jne    0x51d49c
51d468:	8b 46 04             	mov    0x4(%esi),%eax
51d46b:	8b 00                	mov    (%eax),%eax
51d46d:	8b b0 d4 00 00 00    	mov    0xd4(%eax),%esi
51d473:	8b 46 1c             	mov    0x1c(%esi),%eax
51d476:	03 46 18             	add    0x18(%esi),%eax
51d479:	99                   	cltd
51d47a:	52                   	push   %edx
51d47b:	50                   	push   %eax
51d47c:	6a 00                	push   $0x0
51d47e:	68 00 40 1f 00       	push   $0x1f4000
51d483:	c7 46 10 30 f8 ff ff 	movl   $0xfffff830,0x10(%esi)
51d48a:	e8 b1 46 0c 00       	call   0x5e1b40
51d48f:	50                   	push   %eax
51d490:	ff 76 2c             	push   0x2c(%esi)
51d493:	ff 15 88 18 72 00    	call   *0x721888
51d499:	83 c4 08             	add    $0x8,%esp
51d49c:	8b 07                	mov    (%edi),%eax
51d49e:	8b 48 3c             	mov    0x3c(%eax),%ecx
51d4a1:	8b 11                	mov    (%ecx),%edx
51d4a3:	85 d2                	test   %edx,%edx
51d4a5:	74 45                	je     0x51d4ec
51d4a7:	8d 47 04             	lea    0x4(%edi),%eax
51d4aa:	50                   	push   %eax
51d4ab:	8b 42 28             	mov    0x28(%edx),%eax
51d4ae:	6a 1e                	push   $0x1e
51d4b0:	51                   	push   %ecx
51d4b1:	ff d0                	call   *%eax
51d4b3:	83 c4 0c             	add    $0xc,%esp
51d4b6:	eb 34                	jmp    0x51d4ec
51d4b8:	c7 45 94 07 00 00 00 	movl   $0x7,-0x6c(%ebp)
51d4bf:	8b 5d 88             	mov    -0x78(%ebp),%ebx
51d4c2:	85 ff                	test   %edi,%edi
51d4c4:	74 11                	je     0x51d4d7
51d4c6:	8b 07                	mov    (%edi),%eax
51d4c8:	85 c0                	test   %eax,%eax
51d4ca:	74 0b                	je     0x51d4d7
51d4cc:	6a 00                	push   $0x0
51d4ce:	50                   	push   %eax
51d4cf:	e8 cc 4d 01 00       	call   0x5322a0
51d4d4:	83 c4 08             	add    $0x8,%esp
51d4d7:	57                   	push   %edi
51d4d8:	e8 b3 d8 fc ff       	call   0x4ead90
51d4dd:	56                   	push   %esi
51d4de:	e8 ad d8 fc ff       	call   0x4ead90
51d4e3:	83 c4 08             	add    $0x8,%esp
51d4e6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
51d4ec:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
51d4f2:	85 c0                	test   %eax,%eax
51d4f4:	74 0a                	je     0x51d500
51d4f6:	50                   	push   %eax
51d4f7:	ff 15 68 18 72 00    	call   *0x721868
51d4fd:	83 c4 04             	add    $0x4,%esp
51d500:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51d503:	8b 45 94             	mov    -0x6c(%ebp),%eax
51d506:	33 cd                	xor    %ebp,%ecx
51d508:	5f                   	pop    %edi
51d509:	5e                   	pop    %esi
51d50a:	5b                   	pop    %ebx
51d50b:	e8 ca 3f 0c 00       	call   0x5e14da
51d510:	8b e5                	mov    %ebp,%esp
51d512:	5d                   	pop    %ebp
51d513:	c3                   	ret
51d514:	cc                   	int3
51d515:	cc                   	int3
51d516:	cc                   	int3
51d517:	cc                   	int3
51d518:	cc                   	int3
51d519:	cc                   	int3
51d51a:	cc                   	int3
51d51b:	cc                   	int3
51d51c:	cc                   	int3
51d51d:	cc                   	int3
51d51e:	cc                   	int3
51d51f:	cc                   	int3
51d520:	55                   	push   %ebp
51d521:	8b ec                	mov    %esp,%ebp
51d523:	8b 45 08             	mov    0x8(%ebp),%eax
51d526:	80 38 00             	cmpb   $0x0,(%eax)
51d529:	75 16                	jne    0x51d541
51d52b:	6a 00                	push   $0x0
51d52d:	ff 75 14             	push   0x14(%ebp)
51d530:	ff 75 10             	push   0x10(%ebp)
51d533:	ff 75 0c             	push   0xc(%ebp)
51d536:	50                   	push   %eax
51d537:	e8 64 46 fd ff       	call   0x4f1ba0
51d53c:	83 c4 14             	add    $0x14,%esp
51d53f:	5d                   	pop    %ebp
51d540:	c3                   	ret
51d541:	89 45 08             	mov    %eax,0x8(%ebp)
51d544:	5d                   	pop    %ebp
51d545:	e9 96 49 fd ff       	jmp    0x4f1ee0
51d54a:	cc                   	int3
51d54b:	cc                   	int3
51d54c:	cc                   	int3
51d54d:	cc                   	int3
51d54e:	cc                   	int3
51d54f:	cc                   	int3
51d550:	55                   	push   %ebp
51d551:	8b ec                	mov    %esp,%ebp
51d553:	8b 55 08             	mov    0x8(%ebp),%edx
51d556:	56                   	push   %esi
51d557:	8b 42 74             	mov    0x74(%edx),%eax
51d55a:	0f b7 72 30          	movzwl 0x30(%edx),%esi
51d55e:	8b 48 3c             	mov    0x3c(%eax),%ecx
51d561:	2b 4a 28             	sub    0x28(%edx),%ecx
51d564:	3b f1                	cmp    %ecx,%esi
51d566:	7e 12                	jle    0x51d57a
51d568:	33 c0                	xor    %eax,%eax
51d56a:	85 c9                	test   %ecx,%ecx
51d56c:	5e                   	pop    %esi
51d56d:	0f 48 c8             	cmovs  %eax,%ecx
51d570:	8b 45 0c             	mov    0xc(%ebp),%eax
51d573:	89 08                	mov    %ecx,(%eax)
51d575:	8b 42 28             	mov    0x28(%edx),%eax
51d578:	5d                   	pop    %ebp
51d579:	c3                   	ret
51d57a:	8b 45 0c             	mov    0xc(%ebp),%eax
51d57d:	89 30                	mov    %esi,(%eax)
51d57f:	8b 42 28             	mov    0x28(%edx),%eax
51d582:	5e                   	pop    %esi
51d583:	5d                   	pop    %ebp
51d584:	c3                   	ret
51d585:	cc                   	int3
51d586:	cc                   	int3
51d587:	cc                   	int3
51d588:	cc                   	int3
51d589:	cc                   	int3
51d58a:	cc                   	int3
51d58b:	cc                   	int3
51d58c:	cc                   	int3
51d58d:	cc                   	int3
51d58e:	cc                   	int3
51d58f:	cc                   	int3
51d590:	55                   	push   %ebp
51d591:	8b ec                	mov    %esp,%ebp
51d593:	8b 4d 08             	mov    0x8(%ebp),%ecx
51d596:	33 c0                	xor    %eax,%eax
51d598:	80 61 01 f1          	andb   $0xf1,0x1(%ecx)
51d59c:	66 89 41 32          	mov    %ax,0x32(%ecx)
51d5a0:	38 01                	cmp    %al,(%ecx)
51d5a2:	75 1d                	jne    0x51d5c1
51d5a4:	0f b7 51 46          	movzwl 0x46(%ecx),%edx
51d5a8:	66 85 d2             	test   %dx,%dx
51d5ab:	74 14                	je     0x51d5c1
51d5ad:	8b 41 74             	mov    0x74(%ecx),%eax
51d5b0:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
51d5b4:	74 0b                	je     0x51d5c1
51d5b6:	8d 42 ff             	lea    -0x1(%edx),%eax
51d5b9:	66 89 41 46          	mov    %ax,0x46(%ecx)
51d5bd:	33 c0                	xor    %eax,%eax
51d5bf:	5d                   	pop    %ebp
51d5c0:	c3                   	ret
51d5c1:	51                   	push   %ecx
51d5c2:	e8 59 a2 fd ff       	call   0x4f7820
51d5c7:	83 c4 04             	add    $0x4,%esp
51d5ca:	5d                   	pop    %ebp
51d5cb:	c3                   	ret
51d5cc:	cc                   	int3
51d5cd:	cc                   	int3
51d5ce:	cc                   	int3
51d5cf:	cc                   	int3
51d5d0:	55                   	push   %ebp
51d5d1:	8b ec                	mov    %esp,%ebp
51d5d3:	56                   	push   %esi
51d5d4:	8b 75 08             	mov    0x8(%ebp),%esi
51d5d7:	80 3e 03             	cmpb   $0x3,(%esi)