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
51f832:	3b b3 48 01 00 00    	cmp    0x148(%ebx),%esi
51f838:	72 10                	jb     0x51f84a
51f83a:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
51f840:	89 06                	mov    %eax,(%esi)
51f842:	89 b3 38 01 00 00    	mov    %esi,0x138(%ebx)
51f848:	eb 55                	jmp    0x51f89f
51f84a:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
51f851:	74 42                	je     0x51f895
51f853:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51f858:	85 c0                	test   %eax,%eax
51f85a:	74 0a                	je     0x51f866
51f85c:	50                   	push   %eax
51f85d:	ff 15 60 18 72 00    	call   *0x721860
51f863:	83 c4 04             	add    $0x4,%esp
51f866:	56                   	push   %esi
51f867:	ff 15 3c 18 72 00    	call   *0x72183c
51f86d:	29 05 20 00 73 00    	sub    %eax,0x730020
51f873:	ff 0d 44 00 73 00    	decl   0x730044
51f879:	56                   	push   %esi
51f87a:	ff 15 34 18 72 00    	call   *0x721834
51f880:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51f885:	83 c4 08             	add    $0x8,%esp
51f888:	85 c0                	test   %eax,%eax
51f88a:	74 13                	je     0x51f89f
51f88c:	50                   	push   %eax
51f88d:	ff 15 68 18 72 00    	call   *0x721868
51f893:	eb 07                	jmp    0x51f89c
51f895:	56                   	push   %esi
51f896:	ff 15 34 18 72 00    	call   *0x721834
51f89c:	83 c4 04             	add    $0x4,%esp
51f89f:	8b 45 f4             	mov    -0xc(%ebp),%eax
51f8a2:	83 c7 14             	add    $0x14,%edi
51f8a5:	83 e8 01             	sub    $0x1,%eax
51f8a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
51f8ab:	0f 85 3f ff ff ff    	jne    0x51f7f0
51f8b1:	8b 75 f0             	mov    -0x10(%ebp),%esi
51f8b4:	85 f6                	test   %esi,%esi
51f8b6:	0f 84 a5 00 00 00    	je     0x51f961
51f8bc:	83 bb f8 01 00 00 00 	cmpl   $0x0,0x1f8(%ebx)
51f8c3:	74 0f                	je     0x51f8d4
51f8c5:	56                   	push   %esi
51f8c6:	53                   	push   %ebx
51f8c7:	e8 a4 9b fe ff       	call   0x509470
51f8cc:	83 c4 08             	add    $0x8,%esp
51f8cf:	e9 8d 00 00 00       	jmp    0x51f961
51f8d4:	3b b3 4c 01 00 00    	cmp    0x14c(%ebx),%esi
51f8da:	73 30                	jae    0x51f90c
51f8dc:	3b b3 44 01 00 00    	cmp    0x144(%ebx),%esi
51f8e2:	72 10                	jb     0x51f8f4
51f8e4:	8b 83 40 01 00 00    	mov    0x140(%ebx),%eax
51f8ea:	89 06                	mov    %eax,(%esi)
51f8ec:	89 b3 40 01 00 00    	mov    %esi,0x140(%ebx)
51f8f2:	eb 6d                	jmp    0x51f961
51f8f4:	3b b3 48 01 00 00    	cmp    0x148(%ebx),%esi
51f8fa:	72 10                	jb     0x51f90c
51f8fc:	8b 83 38 01 00 00    	mov    0x138(%ebx),%eax
51f902:	89 06                	mov    %eax,(%esi)
51f904:	89 b3 38 01 00 00    	mov    %esi,0x138(%ebx)
51f90a:	eb 55                	jmp    0x51f961
51f90c:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
51f913:	74 42                	je     0x51f957
51f915:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51f91a:	85 c0                	test   %eax,%eax
51f91c:	74 0a                	je     0x51f928
51f91e:	50                   	push   %eax
51f91f:	ff 15 60 18 72 00    	call   *0x721860
51f925:	83 c4 04             	add    $0x4,%esp
51f928:	56                   	push   %esi
51f929:	ff 15 3c 18 72 00    	call   *0x72183c
51f92f:	29 05 20 00 73 00    	sub    %eax,0x730020
51f935:	ff 0d 44 00 73 00    	decl   0x730044
51f93b:	56                   	push   %esi
51f93c:	ff 15 34 18 72 00    	call   *0x721834
51f942:	a1 90 ff 72 00       	mov    0x72ff90,%eax
51f947:	83 c4 08             	add    $0x8,%esp
51f94a:	85 c0                	test   %eax,%eax
51f94c:	74 13                	je     0x51f961
51f94e:	50                   	push   %eax
51f94f:	ff 15 68 18 72 00    	call   *0x721868
51f955:	eb 07                	jmp    0x51f95e
51f957:	56                   	push   %esi
51f958:	ff 15 34 18 72 00    	call   *0x721834
51f95e:	83 c4 04             	add    $0x4,%esp
51f961:	8b 45 e0             	mov    -0x20(%ebp),%eax
51f964:	33 c9                	xor    %ecx,%ecx
51f966:	5f                   	pop    %edi
51f967:	5e                   	pop    %esi
51f968:	5b                   	pop    %ebx
51f969:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
51f96f:	8b 45 dc             	mov    -0x24(%ebp),%eax
51f972:	66 89 08             	mov    %cx,(%eax)
51f975:	8d 41 07             	lea    0x7(%ecx),%eax
51f978:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51f97b:	33 cd                	xor    %ebp,%ecx
51f97d:	e8 58 1b 0c 00       	call   0x5e14da
51f982:	8b e5                	mov    %ebp,%esp
51f984:	5d                   	pop    %ebp
51f985:	c3                   	ret
51f986:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51f989:	33 c0                	xor    %eax,%eax
51f98b:	5f                   	pop    %edi
51f98c:	5e                   	pop    %esi
51f98d:	33 cd                	xor    %ebp,%ecx
51f98f:	5b                   	pop    %ebx
51f990:	e8 45 1b 0c 00       	call   0x5e14da
51f995:	8b e5                	mov    %ebp,%esp
51f997:	5d                   	pop    %ebp
51f998:	c3                   	ret
51f999:	cc                   	int3
51f99a:	cc                   	int3
51f99b:	cc                   	int3
51f99c:	cc                   	int3
51f99d:	cc                   	int3
51f99e:	cc                   	int3
51f99f:	cc                   	int3
51f9a0:	55                   	push   %ebp
51f9a1:	8b ec                	mov    %esp,%ebp
51f9a3:	83 ec 0c             	sub    $0xc,%esp
51f9a6:	53                   	push   %ebx
51f9a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
51f9aa:	56                   	push   %esi
51f9ab:	57                   	push   %edi
51f9ac:	8b 73 08             	mov    0x8(%ebx),%esi
51f9af:	89 75 f8             	mov    %esi,-0x8(%ebp)
51f9b2:	85 f6                	test   %esi,%esi
51f9b4:	75 1f                	jne    0x51f9d5
51f9b6:	39 73 74             	cmp    %esi,0x74(%ebx)
51f9b9:	75 0c                	jne    0x51f9c7
51f9bb:	8b 03                	mov    (%ebx),%eax
51f9bd:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
51f9c1:	75 04                	jne    0x51f9c7
51f9c3:	c6 43 17 01          	movb   $0x1,0x17(%ebx)
51f9c7:	53                   	push   %ebx
51f9c8:	e8 43 2a 02 00       	call   0x542410
51f9cd:	83 c4 04             	add    $0x4,%esp
51f9d0:	89 45 f8             	mov    %eax,-0x8(%ebp)
51f9d3:	8b f0                	mov    %eax,%esi
51f9d5:	8b 7d 0c             	mov    0xc(%ebp),%edi
51f9d8:	33 d2                	xor    %edx,%edx
51f9da:	89 55 fc             	mov    %edx,-0x4(%ebp)
51f9dd:	8b 7f 08             	mov    0x8(%edi),%edi
51f9e0:	85 ff                	test   %edi,%edi
51f9e2:	0f 84 e6 00 00 00    	je     0x51face
51f9e8:	8b 45 1c             	mov    0x1c(%ebp),%eax
51f9eb:	8d 04 90             	lea    (%eax,%edx,4),%eax
51f9ee:	8b 10                	mov    (%eax),%edx
51f9f0:	89 45 f4             	mov    %eax,-0xc(%ebp)
51f9f3:	85 d2                	test   %edx,%edx
51f9f5:	0f 84 be 00 00 00    	je     0x51fab9
51f9fb:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
51f9ff:	74 4a                	je     0x51fa4b
51fa01:	8b 4e 6c             	mov    0x6c(%esi),%ecx
51fa04:	8d 59 02             	lea    0x2(%ecx),%ebx
51fa07:	39 4e 70             	cmp    %ecx,0x70(%esi)
51fa0a:	7f 11                	jg     0x51fa1d
51fa0c:	6a 00                	push   $0x0
51fa0e:	53                   	push   %ebx
51fa0f:	52                   	push   %edx
51fa10:	6a 32                	push   $0x32
51fa12:	56                   	push   %esi
51fa13:	e8 e8 6a fe ff       	call   0x506500
51fa18:	83 c4 14             	add    $0x14,%esp
51fa1b:	eb 2e                	jmp    0x51fa4b
51fa1d:	8d 41 01             	lea    0x1(%ecx),%eax
51fa20:	89 46 6c             	mov    %eax,0x6c(%esi)
51fa23:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
51fa26:	8b 46 68             	mov    0x68(%esi),%eax
51fa29:	8b 75 f8             	mov    -0x8(%ebp),%esi
51fa2c:	c7 04 88 32 00 00 00 	movl   $0x32,(%eax,%ecx,4)
51fa33:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
51fa37:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
51fa3b:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
51fa42:	00
51fa43:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
51fa4a:	00