5074e6:	ff 57 0c             	call   *0xc(%edi)
5074e9:	85 c0                	test   %eax,%eax
5074eb:	75 07                	jne    0x5074f4
5074ed:	33 c0                	xor    %eax,%eax
5074ef:	e9 ad 00 00 00       	jmp    0x5075a1
5074f4:	8b 1f                	mov    (%edi),%ebx
5074f6:	8b 77 04             	mov    0x4(%edi),%esi
5074f9:	0f b6 2b             	movzbl (%ebx),%ebp
5074fc:	43                   	inc    %ebx
5074fd:	4e                   	dec    %esi
5074fe:	81 fd ff 00 00 00    	cmp    $0xff,%ebp
507504:	75 c8                	jne    0x5074ce
507506:	85 f6                	test   %esi,%esi
507508:	75 16                	jne    0x507520
50750a:	8b 04 24             	mov    (%esp),%eax
50750d:	ff 57 0c             	call   *0xc(%edi)
507510:	85 c0                	test   %eax,%eax
507512:	75 07                	jne    0x50751b
507514:	33 c0                	xor    %eax,%eax
507516:	e9 86 00 00 00       	jmp    0x5075a1
50751b:	8b 1f                	mov    (%edi),%ebx
50751d:	8b 77 04             	mov    0x4(%edi),%esi
507520:	0f b6 2b             	movzbl (%ebx),%ebp
507523:	43                   	inc    %ebx
507524:	4e                   	dec    %esi
507525:	81 fd ff 00 00 00    	cmp    $0xff,%ebp
50752b:	74 d9                	je     0x507506
50752d:	85 ed                	test   %ebp,%ebp
50752f:	75 17                	jne    0x507548
507531:	8b 04 24             	mov    (%esp),%eax
507534:	8b 90 b0 01 00 00    	mov    0x1b0(%eax),%edx
50753a:	83 42 5c 02          	addl   $0x2,0x5c(%edx)
50753e:	89 1f                	mov    %ebx,(%edi)
507540:	89 77 04             	mov    %esi,0x4(%edi)
507543:	e9 5f ff ff ff       	jmp    0x5074a7
507548:	8b 0c 24             	mov    (%esp),%ecx
50754b:	8b 81 b0 01 00 00    	mov    0x1b0(%ecx),%eax
507551:	83 78 5c 00          	cmpl   $0x0,0x5c(%eax)
507555:	74 37                	je     0x50758e
507557:	8b 14 24             	mov    (%esp),%edx
50755a:	8b 02                	mov    (%edx),%eax
50755c:	c7 40 14 70 00 00 00 	movl   $0x70,0x14(%eax)
507563:	8b 14 24             	mov    (%esp),%edx
507566:	8b 8a b0 01 00 00    	mov    0x1b0(%edx),%ecx
50756c:	8b 51 5c             	mov    0x5c(%ecx),%edx
50756f:	89 50 18             	mov    %edx,0x18(%eax)
507572:	89 68 1c             	mov    %ebp,0x1c(%eax)
507575:	83 ca ff             	or     $0xffffffff,%edx
507578:	8b 04 24             	mov    (%esp),%eax
50757b:	8b 08                	mov    (%eax),%ecx
50757d:	ff 51 04             	call   *0x4(%ecx)
507580:	8b 04 24             	mov    (%esp),%eax
507583:	8b 90 b0 01 00 00    	mov    0x1b0(%eax),%edx
507589:	33 c9                	xor    %ecx,%ecx
50758b:	89 4a 5c             	mov    %ecx,0x5c(%edx)
50758e:	8b 04 24             	mov    (%esp),%eax
507591:	89 a8 98 01 00 00    	mov    %ebp,0x198(%eax)
507597:	89 1f                	mov    %ebx,(%edi)
507599:	89 77 04             	mov    %esi,0x4(%edi)
50759c:	b8 01 00 00 00       	mov    $0x1,%eax
5075a1:	5a                   	pop    %edx
5075a2:	5d                   	pop    %ebp
5075a3:	5f                   	pop    %edi
5075a4:	5e                   	pop    %esi
5075a5:	5b                   	pop    %ebx
5075a6:	c3                   	ret
5075a7:	90                   	nop
5075a8:	53                   	push   %ebx
5075a9:	56                   	push   %esi
5075aa:	57                   	push   %edi
5075ab:	55                   	push   %ebp
5075ac:	83 c4 f8             	add    $0xfffffff8,%esp
5075af:	8b e8                	mov    %eax,%ebp
5075b1:	8b 5d 14             	mov    0x14(%ebp),%ebx
5075b4:	8b 33                	mov    (%ebx),%esi
5075b6:	8b 7b 04             	mov    0x4(%ebx),%edi
5075b9:	85 ff                	test   %edi,%edi
5075bb:	75 12                	jne    0x5075cf
5075bd:	8b c5                	mov    %ebp,%eax
5075bf:	ff 53 0c             	call   *0xc(%ebx)
5075c2:	85 c0                	test   %eax,%eax
5075c4:	75 04                	jne    0x5075ca
5075c6:	33 c0                	xor    %eax,%eax
5075c8:	eb 72                	jmp    0x50763c
5075ca:	8b 33                	mov    (%ebx),%esi
5075cc:	8b 7b 04             	mov    0x4(%ebx),%edi
5075cf:	4f                   	dec    %edi
5075d0:	33 c0                	xor    %eax,%eax
5075d2:	8a 06                	mov    (%esi),%al
5075d4:	89 04 24             	mov    %eax,(%esp)
5075d7:	46                   	inc    %esi
5075d8:	85 ff                	test   %edi,%edi
5075da:	75 12                	jne    0x5075ee
5075dc:	8b c5                	mov    %ebp,%eax
5075de:	ff 53 0c             	call   *0xc(%ebx)
5075e1:	85 c0                	test   %eax,%eax
5075e3:	75 04                	jne    0x5075e9
5075e5:	33 c0                	xor    %eax,%eax
5075e7:	eb 53                	jmp    0x50763c
5075e9:	8b 33                	mov    (%ebx),%esi
5075eb:	8b 7b 04             	mov    0x4(%ebx),%edi
5075ee:	4f                   	dec    %edi
5075ef:	33 c0                	xor    %eax,%eax
5075f1:	8a 06                	mov    (%esi),%al
5075f3:	89 44 24 04          	mov    %eax,0x4(%esp)
5075f7:	46                   	inc    %esi
5075f8:	81 3c 24 ff 00 00 00 	cmpl   $0xff,(%esp)
5075ff:	75 0a                	jne    0x50760b
507601:	81 7c 24 04 d8 00 00 	cmpl   $0xd8,0x4(%esp)
507608:	00
507609:	74 1d                	je     0x507628
50760b:	8b 45 00             	mov    0x0(%ebp),%eax
50760e:	c7 40 14 34 00 00 00 	movl   $0x34,0x14(%eax)
507615:	8b 14 24             	mov    (%esp),%edx
507618:	89 50 18             	mov    %edx,0x18(%eax)
50761b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50761f:	89 48 1c             	mov    %ecx,0x1c(%eax)
507622:	8b c5                	mov    %ebp,%eax
507624:	8b 10                	mov    (%eax),%edx
507626:	ff 12                	call   *(%edx)
507628:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50762c:	b8 01 00 00 00       	mov    $0x1,%eax
507631:	89 8d 98 01 00 00    	mov    %ecx,0x198(%ebp)
507637:	89 33                	mov    %esi,(%ebx)
507639:	89 7b 04             	mov    %edi,0x4(%ebx)
50763c:	59                   	pop    %ecx
50763d:	5a                   	pop    %edx
50763e:	5d                   	pop    %ebp
50763f:	5f                   	pop    %edi
507640:	5e                   	pop    %esi
507641:	5b                   	pop    %ebx
507642:	c3                   	ret
507643:	90                   	nop
507644:	53                   	push   %ebx
507645:	56                   	push   %esi
507646:	8b d8                	mov    %eax,%ebx
507648:	83 bb 98 01 00 00 00 	cmpl   $0x0,0x198(%ebx)
50764f:	75 2c                	jne    0x50767d
507651:	8b 83 b0 01 00 00    	mov    0x1b0(%ebx),%eax
507657:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
50765b:	75 10                	jne    0x50766d
50765d:	8b c3                	mov    %ebx,%eax
50765f:	e8 44 ff ff ff       	call   0x5075a8
507664:	85 c0                	test   %eax,%eax
507666:	75 15                	jne    0x50767d
507668:	33 c0                	xor    %eax,%eax
50766a:	5e                   	pop    %esi
50766b:	5b                   	pop    %ebx
50766c:	c3                   	ret
50766d:	8b c3                	mov    %ebx,%eax
50766f:	e8 20 fe ff ff       	call   0x507494
507674:	85 c0                	test   %eax,%eax
507676:	75 05                	jne    0x50767d
507678:	33 c0                	xor    %eax,%eax
50767a:	5e                   	pop    %esi
50767b:	5b                   	pop    %ebx
50767c:	c3                   	ret
50767d:	8b 93 98 01 00 00    	mov    0x198(%ebx),%edx
507683:	81 fa cd 00 00 00    	cmp    $0xcd,%edx
507689:	7d 7f                	jge    0x50770a
50768b:	81 fa c5 00 00 00    	cmp    $0xc5,%edx
507691:	7d 41                	jge    0x5076d4
507693:	81 fa c2 00 00 00    	cmp    $0xc2,%edx
507699:	7f 21                	jg     0x5076bc
50769b:	0f 84 1e 01 00 00    	je     0x5077bf
5076a1:	4a                   	dec    %edx
5076a2:	0f 84 51 02 00 00    	je     0x5078f9
5076a8:	81 c2 41 ff ff ff    	add    $0xffffff41,%edx
5076ae:	83 ea 02             	sub    $0x2,%edx
5076b1:	0f 82 f0 00 00 00    	jb     0x5077a7
5076b7:	e9 6d 02 00 00       	jmp    0x507929
5076bc:	81 ea c3 00 00 00    	sub    $0xc3,%edx
5076c2:	0f 84 4b 01 00 00    	je     0x507813
5076c8:	4a                   	dec    %edx
5076c9:	0f 84 ba 01 00 00    	je     0x507889
5076cf:	e9 55 02 00 00       	jmp    0x507929
5076d4:	81 c2 3b ff ff ff    	add    $0xffffff3b,%edx
5076da:	83 fa 07             	cmp    $0x7,%edx
5076dd:	0f 87 46 02 00 00    	ja     0x507929
5076e3:	ff 24 95 ea 76 50 00 	jmp    *0x5076ea(,%edx,4)
5076ea:	13 78 50             	adc    0x50(%eax),%edi
5076ed:	00 13                	add    %dl,(%ebx)
5076ef:	78 50                	js     0x507741
5076f1:	00 13                	add    %dl,(%ebx)
5076f3:	78 50                	js     0x507745
5076f5:	00 13                	add    %dl,(%ebx)
5076f7:	78 50                	js     0x507749
5076f9:	00 da                	add    %bl,%dl
5076fb:	77 50                	ja     0x50774d
5076fd:	00 f5                	add    %dh,%ch
5076ff:	77 50                	ja     0x507751
507701:	00 13                	add    %dl,(%ebx)
507703:	78 50                	js     0x507755
507705:	00 75 78             	add    %dh,0x78(%ebp)
507708:	50                   	push   %eax
507709:	00 81 fa db 00 00    	add    %al,0xdbfa(%ecx)
50770f:	00 7f 54             	add    %bh,0x54(%edi)
507712:	0f 84 85 01 00 00    	je     0x50789d
507718:	81 c2 33 ff ff ff    	add    $0xffffff33,%edx
50771e:	83 fa 0d             	cmp    $0xd,%edx
507721:	0f 87 02 02 00 00    	ja     0x507929
507727:	ff 24 95 2e 77 50 00 	jmp    *0x50772e(,%edx,4)
50772e:	13 78 50             	adc    0x50(%eax),%edi
507731:	00 13                	add    %dl,(%ebx)
507733:	78 50                	js     0x507785
507735:	00 13                	add    %dl,(%ebx)
507737:	78 50                	js     0x507789
507739:	00 f9                	add    %bh,%cl
50773b:	78 50                	js     0x50778d
50773d:	00 f9                	add    %bh,%cl
50773f:	78 50                	js     0x507791
507741:	00 f9                	add    %bh,%cl
507743:	78 50                	js     0x507795
507745:	00 f9                	add    %bh,%cl
507747:	78 50                	js     0x507799
507749:	00 f9                	add    %bh,%cl
50774b:	78 50                	js     0x50779d
50774d:	00 f9                	add    %bh,%cl
50774f:	78 50                	js     0x5077a1
507751:	00 f9                	add    %bh,%cl
507753:	78 50                	js     0x5077a5
507755:	00 f9                	add    %bh,%cl
507757:	78 50                	js     0x5077a9
507759:	00 93 77 50 00 50    	add    %dl,0x50005077(%ebx)
50775f:	78 50                	js     0x5077b1
507761:	00 30                	add    %dh,(%eax)
507763:	78 50                	js     0x5077b5
507765:	00 81 ea dc 00 00    	add    %al,0xdcea(%ecx)
50776b:	00 0f                	add    %cl,(%edi)
50776d:	84 a7 01 00 00 4a    	test   %ah,0x4a000001(%edi)
507773:	0f 84 38 01 00 00    	je     0x5078b1
507779:	83 c2 fd             	add    $0xfffffffd,%edx
50777c:	83 ea 10             	sub    $0x10,%edx
50777f:	0f 82 40 01 00 00    	jb     0x5078c5
507785:	83 ea 0e             	sub    $0xe,%edx
507788:	0f 84 57 01 00 00    	je     0x5078e5
50778e:	e9 96 01 00 00       	jmp    0x507929
507793:	8b c3                	mov    %ebx,%eax
507795:	e8 7e e8 ff ff       	call   0x506018
50779a:	85 c0                	test   %eax,%eax
50779c:	0f 85 9f 01 00 00    	jne    0x507941
5077a2:	33 c0                	xor    %eax,%eax
5077a4:	5e                   	pop    %esi
5077a5:	5b                   	pop    %ebx
5077a6:	c3                   	ret
5077a7:	33 c9                	xor    %ecx,%ecx
5077a9:	33 d2                	xor    %edx,%edx
5077ab:	8b c3                	mov    %ebx,%eax
5077ad:	e8 0e e9 ff ff       	call   0x5060c0
5077b2:	85 c0                	test   %eax,%eax
5077b4:	0f 85 87 01 00 00    	jne    0x507941
5077ba:	33 c0                	xor    %eax,%eax
5077bc:	5e                   	pop    %esi
5077bd:	5b                   	pop    %ebx
5077be:	c3                   	ret
5077bf:	33 c9                	xor    %ecx,%ecx
5077c1:	ba 01 00 00 00       	mov    $0x1,%edx
5077c6:	8b c3                	mov    %ebx,%eax
5077c8:	e8 f3 e8 ff ff       	call   0x5060c0
5077cd:	85 c0                	test   %eax,%eax
5077cf:	0f 85 6c 01 00 00    	jne    0x507941
5077d5:	33 c0                	xor    %eax,%eax
5077d7:	5e                   	pop    %esi
5077d8:	5b                   	pop    %ebx
5077d9:	c3                   	ret
5077da:	b9 01 00 00 00       	mov    $0x1,%ecx
5077df:	33 d2                	xor    %edx,%edx
5077e1:	8b c3                	mov    %ebx,%eax
5077e3:	e8 d8 e8 ff ff       	call   0x5060c0
5077e8:	85 c0                	test   %eax,%eax
5077ea:	0f 85 51 01 00 00    	jne    0x507941
5077f0:	33 c0                	xor    %eax,%eax
5077f2:	5e                   	pop    %esi
5077f3:	5b                   	pop    %ebx
5077f4:	c3                   	ret
5077f5:	b9 01 00 00 00       	mov    $0x1,%ecx
5077fa:	ba 01 00 00 00       	mov    $0x1,%edx
5077ff:	8b c3                	mov    %ebx,%eax
507801:	e8 ba e8 ff ff       	call   0x5060c0
507806:	85 c0                	test   %eax,%eax
507808:	0f 85 33 01 00 00    	jne    0x507941
50780e:	33 c0                	xor    %eax,%eax
507810:	5e                   	pop    %esi
507811:	5b                   	pop    %ebx
507812:	c3                   	ret
507813:	8b 03                	mov    (%ebx),%eax
507815:	c7 40 14 3b 00 00 00 	movl   $0x3b,0x14(%eax)
50781c:	8b 93 98 01 00 00    	mov    0x198(%ebx),%edx
507822:	89 50 18             	mov    %edx,0x18(%eax)
507825:	8b c3                	mov    %ebx,%eax
507827:	8b 10                	mov    (%eax),%edx
507829:	ff 12                	call   *(%edx)
50782b:	e9 11 01 00 00       	jmp    0x507941
507830:	8b c3                	mov    %ebx,%eax
507832:	e8 09 ec ff ff       	call   0x506440
507837:	85 c0                	test   %eax,%eax
507839:	75 05                	jne    0x507840
50783b:	33 c0                	xor    %eax,%eax
50783d:	5e                   	pop    %esi
50783e:	5b                   	pop    %ebx
50783f:	c3                   	ret
507840:	b8 01 00 00 00       	mov    $0x1,%eax
507845:	33 d2                	xor    %edx,%edx
507847:	89 93 98 01 00 00    	mov    %edx,0x198(%ebx)
50784d:	5e                   	pop    %esi
50784e:	5b                   	pop    %ebx
50784f:	c3                   	ret
507850:	8b 13                	mov    (%ebx),%edx
507852:	8b c3                	mov    %ebx,%eax
507854:	c7 42 14 54 00 00 00 	movl   $0x54,0x14(%edx)
50785b:	8b 08                	mov    (%eax),%ecx
50785d:	ba 01 00 00 00       	mov    $0x1,%edx
507862:	ff 51 04             	call   *0x4(%ecx)
507865:	33 c0                	xor    %eax,%eax
507867:	89 83 98 01 00 00    	mov    %eax,0x198(%ebx)
50786d:	b8 02 00 00 00       	mov    $0x2,%eax
507872:	5e                   	pop    %esi
507873:	5b                   	pop    %ebx
507874:	c3                   	ret
507875:	8b c3                	mov    %ebx,%eax
507877:	e8 60 f3 ff ff       	call   0x506bdc
50787c:	85 c0                	test   %eax,%eax
50787e:	0f 85 bd 00 00 00    	jne    0x507941
507884:	33 c0                	xor    %eax,%eax
507886:	5e                   	pop    %esi
507887:	5b                   	pop    %ebx
507888:	c3                   	ret
507889:	8b c3                	mov    %ebx,%eax
50788b:	e8 e0 f4 ff ff       	call   0x506d70
507890:	85 c0                	test   %eax,%eax
507892:	0f 85 a9 00 00 00    	jne    0x507941
507898:	33 c0                	xor    %eax,%eax
50789a:	5e                   	pop    %esi
50789b:	5b                   	pop    %ebx
50789c:	c3                   	ret
50789d:	8b c3                	mov    %ebx,%eax
50789f:	e8 ec f7 ff ff       	call   0x507090
5078a4:	85 c0                	test   %eax,%eax
5078a6:	0f 85 95 00 00 00    	jne    0x507941
5078ac:	33 c0                	xor    %eax,%eax
5078ae:	5e                   	pop    %esi
5078af:	5b                   	pop    %ebx
5078b0:	c3                   	ret
5078b1:	8b c3                	mov    %ebx,%eax
5078b3:	e8 5c fa ff ff       	call   0x507314
5078b8:	85 c0                	test   %eax,%eax
5078ba:	0f 85 81 00 00 00    	jne    0x507941
5078c0:	33 c0                	xor    %eax,%eax
5078c2:	5e                   	pop    %esi
5078c3:	5b                   	pop    %ebx