5294bb:	ff 75 08             	push   0x8(%ebp)
5294be:	e8 8d 59 ff ff       	call   0x51ee50
5294c3:	83 c4 18             	add    $0x18,%esp
5294c6:	8b 76 0c             	mov    0xc(%esi),%esi
5294c9:	85 f6                	test   %esi,%esi
5294cb:	75 bb                	jne    0x529488
5294cd:	5b                   	pop    %ebx
5294ce:	5f                   	pop    %edi
5294cf:	5e                   	pop    %esi
5294d0:	5d                   	pop    %ebp
5294d1:	c3                   	ret
5294d2:	cc                   	int3
5294d3:	cc                   	int3
5294d4:	cc                   	int3
5294d5:	cc                   	int3
5294d6:	cc                   	int3
5294d7:	cc                   	int3
5294d8:	cc                   	int3
5294d9:	cc                   	int3
5294da:	cc                   	int3
5294db:	cc                   	int3
5294dc:	cc                   	int3
5294dd:	cc                   	int3
5294de:	cc                   	int3
5294df:	cc                   	int3
5294e0:	55                   	push   %ebp
5294e1:	8b ec                	mov    %esp,%ebp
5294e3:	83 ec 38             	sub    $0x38,%esp
5294e6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5294eb:	33 c5                	xor    %ebp,%eax
5294ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
5294f0:	8b 55 0c             	mov    0xc(%ebp),%edx
5294f3:	53                   	push   %ebx
5294f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5294f7:	56                   	push   %esi
5294f8:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5294fb:	89 55 ec             	mov    %edx,-0x14(%ebp)
5294fe:	8b 33                	mov    (%ebx),%esi
529500:	0f b6 83 92 00 00 00 	movzbl 0x92(%ebx),%eax
529507:	89 45 c8             	mov    %eax,-0x38(%ebp)
52950a:	89 75 cc             	mov    %esi,-0x34(%ebp)
52950d:	8b 46 20             	mov    0x20(%esi),%eax
529510:	25 00 40 00 00       	and    $0x4000,%eax
529515:	83 c8 00             	or     $0x0,%eax
529518:	0f 84 d5 05 00 00    	je     0x529af3
52951e:	8b 4a 48             	mov    0x48(%edx),%ecx
529521:	57                   	push   %edi
529522:	bf c0 bd f0 ff       	mov    $0xfff0bdc0,%edi
529527:	89 7d dc             	mov    %edi,-0x24(%ebp)
52952a:	85 c9                	test   %ecx,%ecx
52952c:	74 1d                	je     0x52954b
52952e:	8b 46 10             	mov    0x10(%esi),%eax
529531:	33 ff                	xor    %edi,%edi
529533:	83 c0 0c             	add    $0xc,%eax
529536:	89 7d dc             	mov    %edi,-0x24(%ebp)
529539:	39 08                	cmp    %ecx,(%eax)
52953b:	74 0e                	je     0x52954b
52953d:	0f 1f 00             	nopl   (%eax)
529540:	8d 40 10             	lea    0x10(%eax),%eax
529543:	47                   	inc    %edi
529544:	39 08                	cmp    %ecx,(%eax)
529546:	75 f8                	jne    0x529540
529548:	89 7d dc             	mov    %edi,-0x24(%ebp)
52954b:	8b 46 10             	mov    0x10(%esi),%eax
52954e:	8b cf                	mov    %edi,%ecx
529550:	8b 7a 10             	mov    0x10(%edx),%edi
529553:	03 c9                	add    %ecx,%ecx
529555:	89 7d e8             	mov    %edi,-0x18(%ebp)
529558:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
52955b:	89 45 e0             	mov    %eax,-0x20(%ebp)
52955e:	85 ff                	test   %edi,%edi
529560:	0f 84 78 03 00 00    	je     0x5298de
529566:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
52956d:	00 00 00
529570:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
529574:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
52957b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
529582:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
529589:	74 3f                	je     0x5295ca
52958b:	8b 0a                	mov    (%edx),%ecx
52958d:	8b 47 08             	mov    0x8(%edi),%eax
529590:	85 c9                	test   %ecx,%ecx
529592:	75 06                	jne    0x52959a
529594:	f7 d8                	neg    %eax
529596:	1b c0                	sbb    %eax,%eax
529598:	eb 11                	jmp    0x5295ab
52959a:	85 c0                	test   %eax,%eax
52959c:	74 11                	je     0x5295af
52959e:	50                   	push   %eax
52959f:	51                   	push   %ecx
5295a0:	e8 8b 46 01 00       	call   0x53dc30
5295a5:	8b 55 ec             	mov    -0x14(%ebp),%edx
5295a8:	83 c4 08             	add    $0x8,%esp
5295ab:	85 c0                	test   %eax,%eax
5295ad:	74 18                	je     0x5295c7
5295af:	ff 75 1c             	push   0x1c(%ebp)
5295b2:	ff 75 18             	push   0x18(%ebp)
5295b5:	57                   	push   %edi
5295b6:	52                   	push   %edx
5295b7:	e8 54 91 fd ff       	call   0x502710
5295bc:	83 c4 10             	add    $0x10,%esp
5295bf:	85 c0                	test   %eax,%eax
5295c1:	0f 84 03 03 00 00    	je     0x5298ca
5295c7:	8b 45 e0             	mov    -0x20(%ebp),%eax
5295ca:	80 bb 92 00 00 00 00 	cmpb   $0x0,0x92(%ebx)
5295d1:	50                   	push   %eax
5295d2:	ff 77 08             	push   0x8(%edi)
5295d5:	74 0b                	je     0x5295e2
5295d7:	56                   	push   %esi
5295d8:	e8 e3 f3 ff ff       	call   0x5289c0
5295dd:	83 c4 0c             	add    $0xc,%esp
5295e0:	eb 0b                	jmp    0x5295ed
5295e2:	6a 00                	push   $0x0
5295e4:	53                   	push   %ebx
5295e5:	e8 06 75 00 00       	call   0x530af0
5295ea:	83 c4 10             	add    $0x10,%esp
5295ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
5295f0:	85 c0                	test   %eax,%eax
5295f2:	0f 84 aa 01 00 00    	je     0x5297a2
5295f8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5295fb:	51                   	push   %ecx
5295fc:	8d 4d d0             	lea    -0x30(%ebp),%ecx
5295ff:	51                   	push   %ecx
529600:	57                   	push   %edi
529601:	50                   	push   %eax
529602:	53                   	push   %ebx
529603:	e8 d8 08 00 00       	call   0x529ee0
529608:	83 c4 14             	add    $0x14,%esp
52960b:	85 c0                	test   %eax,%eax
52960d:	0f 85 8c 01 00 00    	jne    0x52979f
529613:	8b 45 d8             	mov    -0x28(%ebp),%eax
529616:	85 c0                	test   %eax,%eax
529618:	74 07                	je     0x529621
52961a:	8b d0                	mov    %eax,%edx
52961c:	89 45 e8             	mov    %eax,-0x18(%ebp)
52961f:	eb 0c                	jmp    0x52962d
529621:	8b 47 24             	mov    0x24(%edi),%eax
529624:	8d 55 f8             	lea    -0x8(%ebp),%edx
529627:	89 45 f8             	mov    %eax,-0x8(%ebp)
52962a:	89 55 e8             	mov    %edx,-0x18(%ebp)
52962d:	33 c9                	xor    %ecx,%ecx
52962f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
529632:	39 4f 14             	cmp    %ecx,0x14(%edi)
529635:	7e 6e                	jle    0x5296a5
529637:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
52963e:	00 00
529640:	8b 45 ec             	mov    -0x14(%ebp),%eax
529643:	0f bf 40 28          	movswl 0x28(%eax),%eax
529647:	39 04 8a             	cmp    %eax,(%edx,%ecx,4)
52964a:	75 07                	jne    0x529653
52964c:	c7 04 8a ff ff ff ff 	movl   $0xffffffff,(%edx,%ecx,4)
529653:	83 be 50 01 00 00 00 	cmpl   $0x0,0x150(%esi)
52965a:	74 40                	je     0x52969c
52965c:	8b 45 d0             	mov    -0x30(%ebp),%eax
52965f:	8b 55 f4             	mov    -0xc(%ebp),%edx
529662:	85 c0                	test   %eax,%eax
529664:	74 09                	je     0x52966f
529666:	8b 40 04             	mov    0x4(%eax),%eax
529669:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
52966d:	eb 04                	jmp    0x529673
52966f:	0f b7 42 28          	movzwl 0x28(%edx),%eax
529673:	ff 75 dc             	push   -0x24(%ebp)
529676:	98                   	cwtl
529677:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52967a:	8b 42 04             	mov    0x4(%edx),%eax
52967d:	ff 34 88             	push   (%eax,%ecx,4)
529680:	ff 32                	push   (%edx)
529682:	53                   	push   %ebx
529683:	e8 88 02 ff ff       	call   0x519910
529688:	8b 55 e8             	mov    -0x18(%ebp),%edx
52968b:	33 c9                	xor    %ecx,%ecx
52968d:	83 c4 10             	add    $0x10,%esp
529690:	83 f8 02             	cmp    $0x2,%eax
529693:	0f 94 c1             	sete   %cl
529696:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
529699:	8b 4d f0             	mov    -0x10(%ebp),%ecx
52969c:	41                   	inc    %ecx
52969d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5296a0:	3b 4f 14             	cmp    0x14(%edi),%ecx
5296a3:	7c 9b                	jl     0x529640
5296a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
5296a8:	ff 30                	push   (%eax)
5296aa:	6a 00                	push   $0x0
5296ac:	ff 70 1c             	push   0x1c(%eax)
5296af:	ff 75 dc             	push   -0x24(%ebp)
5296b2:	53                   	push   %ebx
5296b3:	e8 18 48 01 00       	call   0x53ded0
5296b8:	ff 43 28             	incl   0x28(%ebx)
5296bb:	83 c4 14             	add    $0x14,%esp
5296be:	8b 45 10             	mov    0x10(%ebp),%eax
5296c1:	85 c0                	test   %eax,%eax
5296c3:	74 1c                	je     0x5296e1
5296c5:	ff 75 d4             	push   -0x2c(%ebp)
5296c8:	6a ff                	push   $0xffffffff
5296ca:	50                   	push   %eax
5296cb:	ff 75 e8             	push   -0x18(%ebp)
5296ce:	57                   	push   %edi
5296cf:	ff 75 d0             	push   -0x30(%ebp)
5296d2:	ff 75 f4             	push   -0xc(%ebp)
5296d5:	ff 75 dc             	push   -0x24(%ebp)
5296d8:	53                   	push   %ebx
5296d9:	e8 92 90 fd ff       	call   0x502770
5296de:	83 c4 24             	add    $0x24,%esp
5296e1:	8b 55 14             	mov    0x14(%ebp),%edx
5296e4:	85 d2                	test   %edx,%edx
5296e6:	74 48                	je     0x529730
5296e8:	8b 43 74             	mov    0x74(%ebx),%eax
5296eb:	8b cb                	mov    %ebx,%ecx
5296ed:	85 c0                	test   %eax,%eax
5296ef:	0f 45 c8             	cmovne %eax,%ecx
5296f2:	8b 81 04 01 00 00    	mov    0x104(%ecx),%eax
5296f8:	85 c0                	test   %eax,%eax
5296fa:	74 18                	je     0x529714
5296fc:	8b 00                	mov    (%eax),%eax
5296fe:	3b 47 1c             	cmp    0x1c(%edi),%eax
529701:	75 06                	jne    0x529709
529703:	80 7f 19 08          	cmpb   $0x8,0x19(%edi)
529707:	74 27                	je     0x529730
529709:	3b 47 20             	cmp    0x20(%edi),%eax
52970c:	75 06                	jne    0x529714
52970e:	80 7f 1a 08          	cmpb   $0x8,0x1a(%edi)
529712:	74 1c                	je     0x529730
529714:	ff 75 d4             	push   -0x2c(%ebp)
529717:	6a 01                	push   $0x1
529719:	52                   	push   %edx
52971a:	ff 75 e8             	push   -0x18(%ebp)
52971d:	57                   	push   %edi
52971e:	ff 75 d0             	push   -0x30(%ebp)
529721:	ff 75 f4             	push   -0xc(%ebp)
529724:	ff 75 dc             	push   -0x24(%ebp)
529727:	53                   	push   %ebx
529728:	e8 43 90 fd ff       	call   0x502770
52972d:	83 c4 24             	add    $0x24,%esp
529730:	8b 4d d8             	mov    -0x28(%ebp),%ecx
529733:	85 c9                	test   %ecx,%ecx
529735:	0f 84 8f 01 00 00    	je     0x5298ca
52973b:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
529742:	74 0f                	je     0x529753
529744:	51                   	push   %ecx
529745:	56                   	push   %esi
529746:	e8 25 fd fd ff       	call   0x509470
52974b:	83 c4 08             	add    $0x8,%esp
52974e:	e9 77 01 00 00       	jmp    0x5298ca
529753:	3b 8e 4c 01 00 00    	cmp    0x14c(%esi),%ecx
529759:	73 36                	jae    0x529791
52975b:	3b 8e 44 01 00 00    	cmp    0x144(%esi),%ecx
529761:	72 13                	jb     0x529776
529763:	8b 86 40 01 00 00    	mov    0x140(%esi),%eax
529769:	89 01                	mov    %eax,(%ecx)
52976b:	89 8e 40 01 00 00    	mov    %ecx,0x140(%esi)
529771:	e9 54 01 00 00       	jmp    0x5298ca
529776:	3b 8e 48 01 00 00    	cmp    0x148(%esi),%ecx
52977c:	72 13                	jb     0x529791
52977e:	8b 86 38 01 00 00    	mov    0x138(%esi),%eax
529784:	89 01                	mov    %eax,(%ecx)
529786:	89 8e 38 01 00 00    	mov    %ecx,0x138(%esi)
52978c:	e9 39 01 00 00       	jmp    0x5298ca
529791:	51                   	push   %ecx
529792:	e8 f9 15 fc ff       	call   0x4ead90
529797:	83 c4 04             	add    $0x4,%esp
52979a:	e9 2b 01 00 00       	jmp    0x5298ca
52979f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5297a2:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
5297a6:	0f 84 46 03 00 00    	je     0x529af2
5297ac:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
5297b0:	0f 85 3c 03 00 00    	jne    0x529af2
5297b6:	85 c0                	test   %eax,%eax
5297b8:	0f 85 0c 01 00 00    	jne    0x5298ca
5297be:	8b 5b 08             	mov    0x8(%ebx),%ebx
5297c1:	85 db                	test   %ebx,%ebx
5297c3:	75 1f                	jne    0x5297e4
5297c5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5297c8:	39 59 74             	cmp    %ebx,0x74(%ecx)
5297cb:	75 0c                	jne    0x5297d9
5297cd:	8b 01                	mov    (%ecx),%eax
5297cf:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5297d3:	75 04                	jne    0x5297d9
5297d5:	c6 41 17 01          	movb   $0x1,0x17(%ecx)
5297d9:	51                   	push   %ecx
5297da:	e8 31 8c 01 00       	call   0x542410
5297df:	83 c4 04             	add    $0x4,%esp
5297e2:	8b d8                	mov    %eax,%ebx
5297e4:	8b 43 6c             	mov    0x6c(%ebx),%eax
5297e7:	8b 57 14             	mov    0x14(%edi),%edx
5297ea:	40                   	inc    %eax
5297eb:	03 c2                	add    %edx,%eax
5297ed:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5297f4:	89 45 f0             	mov    %eax,-0x10(%ebp)
5297f7:	85 d2                	test   %edx,%edx
5297f9:	7e 7c                	jle    0x529877
5297fb:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5297fe:	8d 47 24             	lea    0x24(%edi),%eax
529801:	89 45 d8             	mov    %eax,-0x28(%ebp)
529804:	0f b7 00             	movzwl (%eax),%eax
529807:	50                   	push   %eax
529808:	ff 37                	push   (%edi)
52980a:	e8 41 46 01 00       	call   0x53de50
52980f:	8b 55 10             	mov    0x10(%ebp),%edx
529812:	83 c4 08             	add    $0x8,%esp
529815:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
529818:	42                   	inc    %edx
529819:	98                   	cwtl
52981a:	03 d0                	add    %eax,%edx
52981c:	39 4b 70             	cmp    %ecx,0x70(%ebx)
52981f:	7f 13                	jg     0x529834
529821:	6a 00                	push   $0x0
529823:	ff 75 f0             	push   -0x10(%ebp)
529826:	52                   	push   %edx
529827:	6a 32                	push   $0x32
529829:	53                   	push   %ebx
52982a:	e8 d1 cc fd ff       	call   0x506500
52982f:	83 c4 14             	add    $0x14,%esp
529832:	eb 31                	jmp    0x529865
529834:	8b 7d e8             	mov    -0x18(%ebp),%edi
529837:	8d 41 01             	lea    0x1(%ecx),%eax
52983a:	89 43 6c             	mov    %eax,0x6c(%ebx)
52983d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
529840:	8b 43 68             	mov    0x68(%ebx),%eax
529843:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
529847:	8b 55 f0             	mov    -0x10(%ebp),%edx
52984a:	c7 04 88 32 00 00 00 	movl   $0x32,(%eax,%ecx,4)
529851:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
529855:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52985c:	00
52985d:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
529864:	00
529865:	8b 45 d8             	mov    -0x28(%ebp),%eax
529868:	46                   	inc    %esi
529869:	83 c0 08             	add    $0x8,%eax
52986c:	89 45 d8             	mov    %eax,-0x28(%ebp)
52986f:	3b 77 14             	cmp    0x14(%edi),%esi
529872:	7c 90                	jl     0x529804
529874:	8b 75 cc             	mov    -0x34(%ebp),%esi
529877:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
52987a:	0f b6 57 18          	movzbl 0x18(%edi),%edx
52987e:	39 4b 70             	cmp    %ecx,0x70(%ebx)
529881:	7f 15                	jg     0x529898
529883:	6a 00                	push   $0x0
529885:	6a ff                	push   $0xffffffff
529887:	52                   	push   %edx
529888:	68 95 00 00 00       	push   $0x95
52988d:	53                   	push   %ebx
52988e:	e8 6d cc fd ff       	call   0x506500
529893:	83 c4 14             	add    $0x14,%esp
529896:	eb 2f                	jmp    0x5298c7
529898:	8d 41 01             	lea    0x1(%ecx),%eax
52989b:	89 43 6c             	mov    %eax,0x6c(%ebx)
52989e:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5298a1:	8b 43 68             	mov    0x68(%ebx),%eax
5298a4:	c7 04 88 95 00 00 00 	movl   $0x95,(%eax,%ecx,4)