51f43d:	83 c4 0c             	add    $0xc,%esp
51f440:	eb 12                	jmp    0x51f454
51f442:	8b 46 6c             	mov    0x6c(%esi),%eax
51f445:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
51f448:	8b 46 68             	mov    0x68(%esi),%eax
51f44b:	c6 44 88 ed f5       	movb   $0xf5,-0x13(%eax,%ecx,4)
51f450:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
51f454:	8b 43 04             	mov    0x4(%ebx),%eax
51f457:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
51f45a:	80 7c 88 0d 45       	cmpb   $0x45,0xd(%eax,%ecx,4)
51f45f:	75 5e                	jne    0x51f4bf
51f461:	8b 4e 6c             	mov    0x6c(%esi),%ecx
51f464:	39 4e 70             	cmp    %ecx,0x70(%esi)
51f467:	7f 23                	jg     0x51f48c
51f469:	6a 00                	push   $0x0
51f46b:	6a 00                	push   $0x0
51f46d:	ff 75 14             	push   0x14(%ebp)
51f470:	6a 53                	push   $0x53
51f472:	56                   	push   %esi
51f473:	e8 88 70 fe ff       	call   0x506500
51f478:	83 c4 14             	add    $0x14,%esp
51f47b:	5f                   	pop    %edi
51f47c:	5e                   	pop    %esi
51f47d:	5b                   	pop    %ebx
51f47e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51f481:	33 cd                	xor    %ebp,%ecx
51f483:	e8 52 20 0c 00       	call   0x5e14da
51f488:	8b e5                	mov    %ebp,%esp
51f48a:	5d                   	pop    %ebp
51f48b:	c3                   	ret
51f48c:	8d 41 01             	lea    0x1(%ecx),%eax
51f48f:	89 46 6c             	mov    %eax,0x6c(%esi)
51f492:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51f495:	8b 46 68             	mov    0x68(%esi),%eax
51f498:	c7 04 88 53 00 00 00 	movl   $0x53,(%eax,%ecx,4)
51f49f:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
51f4a6:	00
51f4a7:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
51f4ae:	00
51f4af:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
51f4b2:	8b 45 14             	mov    0x14(%ebp),%eax
51f4b5:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
51f4bc:	89 41 04             	mov    %eax,0x4(%ecx)
51f4bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51f4c2:	5f                   	pop    %edi
51f4c3:	5e                   	pop    %esi
51f4c4:	33 cd                	xor    %ebp,%ecx
51f4c6:	5b                   	pop    %ebx
51f4c7:	e8 0e 20 0c 00       	call   0x5e14da
51f4cc:	8b e5                	mov    %ebp,%esp
51f4ce:	5d                   	pop    %ebp
51f4cf:	c3                   	ret
51f4d0:	55                   	push   %ebp
51f4d1:	8b ec                	mov    %esp,%ebp
51f4d3:	8b 45 08             	mov    0x8(%ebp),%eax
51f4d6:	f6 40 10 04          	testb  $0x4,0x10(%eax)
51f4da:	75 05                	jne    0x51f4e1
51f4dc:	8b 45 0c             	mov    0xc(%ebp),%eax
51f4df:	5d                   	pop    %ebp
51f4e0:	c3                   	ret
51f4e1:	8b 10                	mov    (%eax),%edx
51f4e3:	8b c2                	mov    %edx,%eax
51f4e5:	56                   	push   %esi
51f4e6:	8d 70 01             	lea    0x1(%eax),%esi
51f4e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
51f4f0:	8a 08                	mov    (%eax),%cl
51f4f2:	40                   	inc    %eax
51f4f3:	84 c9                	test   %cl,%cl
51f4f5:	75 f9                	jne    0x51f4f0
51f4f7:	2b c6                	sub    %esi,%eax
51f4f9:	40                   	inc    %eax
51f4fa:	03 c2                	add    %edx,%eax
51f4fc:	5e                   	pop    %esi
51f4fd:	5d                   	pop    %ebp
51f4fe:	c3                   	ret
51f4ff:	cc                   	int3
51f500:	55                   	push   %ebp
51f501:	8b ec                	mov    %esp,%ebp
51f503:	83 ec 34             	sub    $0x34,%esp
51f506:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51f50b:	33 c5                	xor    %ebp,%eax
51f50d:	89 45 fc             	mov    %eax,-0x4(%ebp)
51f510:	8b 45 08             	mov    0x8(%ebp),%eax
51f513:	8b 4d 10             	mov    0x10(%ebp),%ecx
51f516:	53                   	push   %ebx
51f517:	56                   	push   %esi
51f518:	8b 18                	mov    (%eax),%ebx
51f51a:	57                   	push   %edi
51f51b:	8b 7d 0c             	mov    0xc(%ebp),%edi
51f51e:	89 4d dc             	mov    %ecx,-0x24(%ebp)
51f521:	8b 4d 14             	mov    0x14(%ebp),%ecx
51f524:	89 4d e0             	mov    %ecx,-0x20(%ebp)
51f527:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
51f52e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
51f535:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
51f53c:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
51f543:	85 ff                	test   %edi,%edi
51f545:	74 4d                	je     0x51f594
51f547:	8b 07                	mov    (%edi),%eax
51f549:	6a 00                	push   $0x0
51f54b:	89 45 ec             	mov    %eax,-0x14(%ebp)
51f54e:	8d 34 80             	lea    (%eax,%eax,4),%esi
51f551:	c1 e6 02             	shl    $0x2,%esi
51f554:	56                   	push   %esi
51f555:	85 db                	test   %ebx,%ebx
51f557:	74 0b                	je     0x51f564
51f559:	53                   	push   %ebx
51f55a:	e8 81 1e 00 00       	call   0x5213e0
51f55f:	83 c4 0c             	add    $0xc,%esp
51f562:	eb 08                	jmp    0x51f56c
51f564:	e8 f7 19 01 00       	call   0x530f60
51f569:	83 c4 08             	add    $0x8,%esp
51f56c:	89 45 f0             	mov    %eax,-0x10(%ebp)
51f56f:	85 c0                	test   %eax,%eax
51f571:	74 0f                	je     0x51f582
51f573:	56                   	push   %esi
51f574:	6a 00                	push   $0x0
51f576:	50                   	push   %eax
51f577:	e8 84 44 0c 00       	call   0x5e3a00
51f57c:	8b 45 f0             	mov    -0x10(%ebp),%eax
51f57f:	83 c4 0c             	add    $0xc,%esp
51f582:	8b 4d ec             	mov    -0x14(%ebp),%ecx
51f585:	81 f9 ff 7f 00 00    	cmp    $0x7fff,%ecx
51f58b:	7e 11                	jle    0x51f59e
51f58d:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
51f592:	eb 07                	jmp    0x51f59b
51f594:	33 c9                	xor    %ecx,%ecx
51f596:	33 c0                	xor    %eax,%eax
51f598:	89 45 f0             	mov    %eax,-0x10(%ebp)
51f59b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
51f59e:	8b 55 dc             	mov    -0x24(%ebp),%edx
51f5a1:	33 f6                	xor    %esi,%esi
51f5a3:	89 75 f4             	mov    %esi,-0xc(%ebp)
51f5a6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
51f5a9:	66 89 0a             	mov    %cx,(%edx)
51f5ac:	8b 55 e0             	mov    -0x20(%ebp),%edx
51f5af:	89 02                	mov    %eax,(%edx)
51f5b1:	85 c9                	test   %ecx,%ecx
51f5b3:	0f 8e 12 02 00 00    	jle    0x51f7cb
51f5b9:	8d 47 08             	lea    0x8(%edi),%eax
51f5bc:	89 45 e8             	mov    %eax,-0x18(%ebp)
51f5bf:	90                   	nop
51f5c0:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
51f5c4:	0f 85 01 02 00 00    	jne    0x51f7cb
51f5ca:	8b 30                	mov    (%eax),%esi
51f5cc:	85 f6                	test   %esi,%esi
51f5ce:	74 06                	je     0x51f5d6
51f5d0:	f6 40 08 03          	testb  $0x3,0x8(%eax)
51f5d4:	74 6d                	je     0x51f643
51f5d6:	8b 40 fc             	mov    -0x4(%eax),%eax
51f5d9:	85 c0                	test   %eax,%eax
51f5db:	74 25                	je     0x51f602
51f5dd:	0f 1f 00             	nopl   (%eax)
51f5e0:	8b 48 04             	mov    0x4(%eax),%ecx
51f5e3:	f7 c1 00 10 04 00    	test   $0x41000,%ecx
51f5e9:	74 17                	je     0x51f602
51f5eb:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
51f5f1:	74 08                	je     0x51f5fb
51f5f3:	8b 40 14             	mov    0x14(%eax),%eax
51f5f6:	8b 40 04             	mov    0x4(%eax),%eax
51f5f9:	eb 03                	jmp    0x51f5fe
51f5fb:	8b 40 0c             	mov    0xc(%eax),%eax
51f5fe:	85 c0                	test   %eax,%eax
51f600:	75 de                	jne    0x51f5e0
51f602:	80 38 8b             	cmpb   $0x8b,(%eax)
51f605:	75 08                	jne    0x51f60f
51f607:	8b 40 10             	mov    0x10(%eax),%eax
51f60a:	80 38 8b             	cmpb   $0x8b,(%eax)
51f60d:	74 f8                	je     0x51f607
51f60f:	8a 08                	mov    (%eax),%cl
51f611:	80 f9 a4             	cmp    $0xa4,%cl
51f614:	75 25                	jne    0x51f63b
51f616:	0f bf 48 20          	movswl 0x20(%eax),%ecx
51f61a:	8b 40 2c             	mov    0x2c(%eax),%eax
51f61d:	85 c9                	test   %ecx,%ecx
51f61f:	79 0f                	jns    0x51f630
51f621:	0f bf 48 28          	movswl 0x28(%eax),%ecx
51f625:	85 c9                	test   %ecx,%ecx
51f627:	79 07                	jns    0x51f630
51f629:	be a0 6a 6b 00       	mov    $0x6b6aa0,%esi
51f62e:	eb 17                	jmp    0x51f647
51f630:	8b 40 04             	mov    0x4(%eax),%eax
51f633:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51f636:	8b 34 88             	mov    (%eax,%ecx,4),%esi
51f639:	eb 08                	jmp    0x51f643
51f63b:	80 f9 3b             	cmp    $0x3b,%cl
51f63e:	75 03                	jne    0x51f643
51f640:	8b 70 08             	mov    0x8(%eax),%esi
51f643:	85 f6                	test   %esi,%esi
51f645:	74 18                	je     0x51f65f
51f647:	bf a8 57 6e 00       	mov    $0x6e57a8,%edi
51f64c:	8b d6                	mov    %esi,%edx
51f64e:	2b fe                	sub    %esi,%edi
51f650:	0f b6 0a             	movzbl (%edx),%ecx
51f653:	0f b6 04 17          	movzbl (%edi,%edx,1),%eax
51f657:	3b c8                	cmp    %eax,%ecx
51f659:	75 47                	jne    0x51f6a2
51f65b:	85 c9                	test   %ecx,%ecx
51f65d:	75 55                	jne    0x51f6b4
51f65f:	8b 45 f4             	mov    -0xc(%ebp),%eax
51f662:	40                   	inc    %eax
51f663:	50                   	push   %eax
51f664:	68 28 af 6b 00       	push   $0x6baf28
51f669:	53                   	push   %ebx
51f66a:	e8 d1 18 01 00       	call   0x530f40
51f66f:	83 c4 0c             	add    $0xc,%esp
51f672:	8b f0                	mov    %eax,%esi
51f674:	33 ff                	xor    %edi,%edi
51f676:	89 7d f8             	mov    %edi,-0x8(%ebp)
51f679:	85 f6                	test   %esi,%esi
51f67b:	0f 84 cd 00 00 00    	je     0x51f74e
51f681:	6a 00                	push   $0x0
51f683:	8d 45 cc             	lea    -0x34(%ebp),%eax
51f686:	56                   	push   %esi
51f687:	50                   	push   %eax
51f688:	e8 43 29 fe ff       	call   0x501fd0
51f68d:	83 c4 0c             	add    $0xc,%esp
51f690:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
51f694:	0f 84 b4 00 00 00    	je     0x51f74e
51f69a:	85 f6                	test   %esi,%esi
51f69c:	75 37                	jne    0x51f6d5
51f69e:	33 d2                	xor    %edx,%edx
51f6a0:	eb 77                	jmp    0x51f719
51f6a2:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
51f6a9:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
51f6b0:	2b c8                	sub    %eax,%ecx
51f6b2:	75 03                	jne    0x51f6b7
51f6b4:	42                   	inc    %edx
51f6b5:	eb 99                	jmp    0x51f650
51f6b7:	68 a0 57 6e 00       	push   $0x6e57a0
51f6bc:	56                   	push   %esi
51f6bd:	e8 6e e5 01 00       	call   0x53dc30
51f6c2:	83 c4 08             	add    $0x8,%esp
51f6c5:	85 c0                	test   %eax,%eax
51f6c7:	74 96                	je     0x51f65f
51f6c9:	56                   	push   %esi
51f6ca:	53                   	push   %ebx
51f6cb:	e8 e0 1f 00 00       	call   0x5216b0
51f6d0:	83 c4 08             	add    $0x8,%esp
51f6d3:	eb 9d                	jmp    0x51f672
51f6d5:	8b d6                	mov    %esi,%edx
51f6d7:	8d 4a 01             	lea    0x1(%edx),%ecx
51f6da:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
51f6e0:	8a 02                	mov    (%edx),%al
51f6e2:	42                   	inc    %edx
51f6e3:	84 c0                	test   %al,%al
51f6e5:	75 f9                	jne    0x51f6e0
51f6e7:	2b d1                	sub    %ecx,%edx
51f6e9:	81 e2 ff ff ff 3f    	and    $0x3fffffff,%edx
51f6ef:	76 28                	jbe    0x51f719
51f6f1:	8d 42 ff             	lea    -0x1(%edx),%eax
51f6f4:	85 c0                	test   %eax,%eax
51f6f6:	7e 1a                	jle    0x51f712
51f6f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
51f6ff:	00
51f700:	0f b6 0c 30          	movzbl (%eax,%esi,1),%ecx
51f704:	f6 81 40 1b 6b 00 04 	testb  $0x4,0x6b1b40(%ecx)
51f70b:	74 05                	je     0x51f712
51f70d:	48                   	dec    %eax
51f70e:	85 c0                	test   %eax,%eax
51f710:	7f ee                	jg     0x51f700
51f712:	80 3c 30 3a          	cmpb   $0x3a,(%eax,%esi,1)
51f716:	0f 44 d0             	cmove  %eax,%edx
51f719:	47                   	inc    %edi
51f71a:	57                   	push   %edi
51f71b:	56                   	push   %esi
51f71c:	52                   	push   %edx
51f71d:	68 34 af 6b 00       	push   $0x6baf34
51f722:	53                   	push   %ebx
51f723:	89 7d f8             	mov    %edi,-0x8(%ebp)
51f726:	e8 15 18 01 00       	call   0x530f40
51f72b:	83 c4 14             	add    $0x14,%esp
51f72e:	8b f0                	mov    %eax,%esi
51f730:	83 ff 03             	cmp    $0x3,%edi
51f733:	76 11                	jbe    0x51f746
51f735:	8d 45 f8             	lea    -0x8(%ebp),%eax
51f738:	50                   	push   %eax
51f739:	6a 04                	push   $0x4
51f73b:	e8 f0 c4 fc ff       	call   0x4ebc30
51f740:	8b 7d f8             	mov    -0x8(%ebp),%edi
51f743:	83 c4 08             	add    $0x8,%esp
51f746:	85 f6                	test   %esi,%esi
51f748:	0f 85 33 ff ff ff    	jne    0x51f681
51f74e:	8b 7d e4             	mov    -0x1c(%ebp),%edi
51f751:	89 37                	mov    %esi,(%edi)
51f753:	85 f6                	test   %esi,%esi
51f755:	74 55                	je     0x51f7ac
51f757:	57                   	push   %edi
51f758:	8d 45 cc             	lea    -0x34(%ebp),%eax
51f75b:	56                   	push   %esi
51f75c:	50                   	push   %eax
51f75d:	e8 3e e3 00 00       	call   0x52daa0
51f762:	83 c4 0c             	add    $0xc,%esp
51f765:	3b c7                	cmp    %edi,%eax
51f767:	75 43                	jne    0x51f7ac
51f769:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
51f76d:	75 3d                	jne    0x51f7ac
51f76f:	80 7b 52 00          	cmpb   $0x0,0x52(%ebx)
51f773:	75 37                	jne    0x51f7ac
51f775:	83 bb bc 00 00 00 00 	cmpl   $0x0,0xbc(%ebx)
51f77c:	c6 43 51 01          	movb   $0x1,0x51(%ebx)
51f780:	7e 0a                	jle    0x51f78c
51f782:	c7 83 10 01 00 00 01 	movl   $0x1,0x110(%ebx)
51f789:	00 00 00
51f78c:	ff 83 18 01 00 00    	incl   0x118(%ebx)
51f792:	33 c0                	xor    %eax,%eax
51f794:	66 89 83 1c 01 00 00 	mov    %ax,0x11c(%ebx)
51f79b:	8b 83 f4 00 00 00    	mov    0xf4(%ebx),%eax
51f7a1:	85 c0                	test   %eax,%eax
51f7a3:	74 07                	je     0x51f7ac
51f7a5:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
51f7ac:	8b 75 f4             	mov    -0xc(%ebp),%esi
51f7af:	83 c7 14             	add    $0x14,%edi
51f7b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
51f7b5:	46                   	inc    %esi
51f7b6:	83 c0 14             	add    $0x14,%eax
51f7b9:	89 75 f4             	mov    %esi,-0xc(%ebp)
51f7bc:	89 45 e8             	mov    %eax,-0x18(%ebp)
51f7bf:	89 7d e4             	mov    %edi,-0x1c(%ebp)
51f7c2:	3b 75 ec             	cmp    -0x14(%ebp),%esi
51f7c5:	0f 8c f5 fd ff ff    	jl     0x51f5c0
51f7cb:	8d 45 cc             	lea    -0x34(%ebp),%eax
51f7ce:	50                   	push   %eax
51f7cf:	e8 0c e2 00 00       	call   0x52d9e0
51f7d4:	83 c4 04             	add    $0x4,%esp
51f7d7:	80 7b 51 00          	cmpb   $0x0,0x51(%ebx)
51f7db:	0f 84 a5 01 00 00    	je     0x51f986
51f7e1:	85 f6                	test   %esi,%esi
51f7e3:	0f 8e c8 00 00 00    	jle    0x51f8b1
51f7e9:	8b 7d f0             	mov    -0x10(%ebp),%edi
51f7ec:	8b 45 f4             	mov    -0xc(%ebp),%eax
51f7ef:	90                   	nop
51f7f0:	8b 37                	mov    (%edi),%esi
51f7f2:	85 f6                	test   %esi,%esi
51f7f4:	0f 84 a8 00 00 00    	je     0x51f8a2
51f7fa:	83 bb f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ebx)
51f801:	74 0f                	je     0x51f812
51f803:	56                   	push   %esi
51f804:	53                   	push   %ebx
51f805:	e8 66 9c fe ff       	call   0x509470
51f80a:	83 c4 08             	add    $0x8,%esp
51f80d:	e9 8d 00 00 00       	jmp    0x51f89f
51f812:	3b b3 4c 01 00 00    	cmp    0x14c(%ebx),%esi
51f818:	73 30                	jae    0x51f84a
51f81a:	3b b3 44 01 00 00    	cmp    0x144(%ebx),%esi
51f820:	72 10                	jb     0x51f832
51f822:	8b 83 40 01 00 00    	mov    0x140(%ebx),%eax
51f828:	89 06                	mov    %eax,(%esi)
51f82a:	89 b3 40 01 00 00    	mov    %esi,0x140(%ebx)
51f830:	eb 6d                	jmp    0x51f89f