433535:	83 e9 01             	sub    $0x1,%ecx
433538:	74 56                	je     0x433590
43353a:	49                   	dec    %ecx
43353b:	83 e9 01             	sub    $0x1,%ecx
43353e:	74 33                	je     0x433573
433540:	83 e9 04             	sub    $0x4,%ecx
433543:	74 17                	je     0x43355c
433545:	e8 ec 08 00 00       	call   0x433e36
43354a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
433550:	e8 25 08 00 00       	call   0x433d7a
433555:	32 c0                	xor    %al,%al
433557:	e9 02 01 00 00       	jmp    0x43365e
43355c:	8b 46 20             	mov    0x20(%esi),%eax
43355f:	83 46 14 08          	addl   $0x8,0x14(%esi)
433563:	c1 e8 04             	shr    $0x4,%eax
433566:	a8 01                	test   $0x1,%al
433568:	8b 46 14             	mov    0x14(%esi),%eax
43356b:	8b 48 f8             	mov    -0x8(%eax),%ecx
43356e:	8b 50 fc             	mov    -0x4(%eax),%edx
433571:	eb 58                	jmp    0x4335cb
433573:	8b 46 20             	mov    0x20(%esi),%eax
433576:	83 46 14 04          	addl   $0x4,0x14(%esi)
43357a:	c1 e8 04             	shr    $0x4,%eax
43357d:	a8 01                	test   $0x1,%al
43357f:	8b 46 14             	mov    0x14(%esi),%eax
433582:	74 05                	je     0x433589
433584:	8b 40 fc             	mov    -0x4(%eax),%eax
433587:	eb 3f                	jmp    0x4335c8
433589:	8b 48 fc             	mov    -0x4(%eax),%ecx
43358c:	33 d2                	xor    %edx,%edx
43358e:	eb 3b                	jmp    0x4335cb
433590:	8b 46 20             	mov    0x20(%esi),%eax
433593:	83 46 14 04          	addl   $0x4,0x14(%esi)
433597:	c1 e8 04             	shr    $0x4,%eax
43359a:	a8 01                	test   $0x1,%al
43359c:	8b 46 14             	mov    0x14(%esi),%eax
43359f:	74 06                	je     0x4335a7
4335a1:	0f bf 40 fc          	movswl -0x4(%eax),%eax
4335a5:	eb 21                	jmp    0x4335c8
4335a7:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
4335ab:	eb 1b                	jmp    0x4335c8
4335ad:	8b 46 20             	mov    0x20(%esi),%eax
4335b0:	83 46 14 04          	addl   $0x4,0x14(%esi)
4335b4:	c1 e8 04             	shr    $0x4,%eax
4335b7:	a8 01                	test   $0x1,%al
4335b9:	8b 46 14             	mov    0x14(%esi),%eax
4335bc:	74 06                	je     0x4335c4
4335be:	0f be 40 fc          	movsbl -0x4(%eax),%eax
4335c2:	eb 04                	jmp    0x4335c8
4335c4:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
4335c8:	99                   	cltd
4335c9:	8b c8                	mov    %eax,%ecx
4335cb:	57                   	push   %edi
4335cc:	8b 7e 20             	mov    0x20(%esi),%edi
4335cf:	8b c7                	mov    %edi,%eax
4335d1:	c1 e8 04             	shr    $0x4,%eax
4335d4:	a8 01                	test   $0x1,%al
4335d6:	74 17                	je     0x4335ef
4335d8:	85 d2                	test   %edx,%edx
4335da:	7f 13                	jg     0x4335ef
4335dc:	7c 04                	jl     0x4335e2
4335de:	85 c9                	test   %ecx,%ecx
4335e0:	73 0d                	jae    0x4335ef
4335e2:	f7 d9                	neg    %ecx
4335e4:	83 d2 00             	adc    $0x0,%edx
4335e7:	f7 da                	neg    %edx
4335e9:	83 cf 40             	or     $0x40,%edi
4335ec:	89 7e 20             	mov    %edi,0x20(%esi)
4335ef:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4335f3:	5f                   	pop    %edi
4335f4:	7d 09                	jge    0x4335ff
4335f6:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4335fd:	eb 11                	jmp    0x433610
4335ff:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
433603:	b8 00 02 00 00       	mov    $0x200,%eax
433608:	39 46 28             	cmp    %eax,0x28(%esi)
43360b:	7e 03                	jle    0x433610
43360d:	89 46 28             	mov    %eax,0x28(%esi)
433610:	8b c1                	mov    %ecx,%eax
433612:	0b c2                	or     %edx,%eax
433614:	75 04                	jne    0x43361a
433616:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
43361a:	ff 75 0c             	push   0xc(%ebp)
43361d:	ff 75 08             	push   0x8(%ebp)
433620:	83 fb 08             	cmp    $0x8,%ebx
433623:	75 0b                	jne    0x433630
433625:	52                   	push   %edx
433626:	51                   	push   %ecx
433627:	8b ce                	mov    %esi,%ecx
433629:	e8 b8 e9 ff ff       	call   0x431fe6
43362e:	eb 08                	jmp    0x433638
433630:	51                   	push   %ecx
433631:	8b ce                	mov    %esi,%ecx
433633:	e8 39 e9 ff ff       	call   0x431f71
433638:	8b 46 20             	mov    0x20(%esi),%eax
43363b:	c1 e8 07             	shr    $0x7,%eax
43363e:	a8 01                	test   $0x1,%al
433640:	74 1a                	je     0x43365c
433642:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
433646:	74 08                	je     0x433650
433648:	8b 46 34             	mov    0x34(%esi),%eax
43364b:	80 38 30             	cmpb   $0x30,(%eax)
43364e:	74 0c                	je     0x43365c
433650:	ff 4e 34             	decl   0x34(%esi)
433653:	8b 4e 34             	mov    0x34(%esi),%ecx
433656:	c6 01 30             	movb   $0x30,(%ecx)
433659:	ff 46 38             	incl   0x38(%esi)
43365c:	b0 01                	mov    $0x1,%al
43365e:	5e                   	pop    %esi
43365f:	5b                   	pop    %ebx
433660:	5d                   	pop    %ebp
433661:	c2 08 00             	ret    $0x8
433664:	8b ff                	mov    %edi,%edi
433666:	56                   	push   %esi
433667:	8b f1                	mov    %ecx,%esi
433669:	57                   	push   %edi
43366a:	83 46 14 04          	addl   $0x4,0x14(%esi)
43366e:	8b 46 14             	mov    0x14(%esi),%eax
433671:	8b 78 fc             	mov    -0x4(%eax),%edi
433674:	e8 ea 3e 00 00       	call   0x437563
433679:	85 c0                	test   %eax,%eax
43367b:	75 14                	jne    0x433691
43367d:	e8 b4 07 00 00       	call   0x433e36
433682:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
433688:	e8 ed 06 00 00       	call   0x433d7a
43368d:	32 c0                	xor    %al,%al
43368f:	eb 44                	jmp    0x4336d5
433691:	ff 76 2c             	push   0x2c(%esi)
433694:	e8 6b f9 ff ff       	call   0x433004
433699:	59                   	pop    %ecx
43369a:	83 e8 01             	sub    $0x1,%eax
43369d:	74 2b                	je     0x4336ca
43369f:	83 e8 01             	sub    $0x1,%eax
4336a2:	74 1d                	je     0x4336c1
4336a4:	48                   	dec    %eax
4336a5:	83 e8 01             	sub    $0x1,%eax
4336a8:	74 10                	je     0x4336ba
4336aa:	83 e8 04             	sub    $0x4,%eax
4336ad:	75 ce                	jne    0x43367d
4336af:	8b 46 18             	mov    0x18(%esi),%eax
4336b2:	99                   	cltd
4336b3:	89 07                	mov    %eax,(%edi)
4336b5:	89 57 04             	mov    %edx,0x4(%edi)
4336b8:	eb 15                	jmp    0x4336cf
4336ba:	8b 46 18             	mov    0x18(%esi),%eax
4336bd:	89 07                	mov    %eax,(%edi)
4336bf:	eb 0e                	jmp    0x4336cf
4336c1:	66 8b 46 18          	mov    0x18(%esi),%ax
4336c5:	66 89 07             	mov    %ax,(%edi)
4336c8:	eb 05                	jmp    0x4336cf
4336ca:	8a 46 18             	mov    0x18(%esi),%al
4336cd:	88 07                	mov    %al,(%edi)
4336cf:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4336d3:	b0 01                	mov    $0x1,%al
4336d5:	5f                   	pop    %edi
4336d6:	5e                   	pop    %esi
4336d7:	c3                   	ret
4336d8:	8b 51 20             	mov    0x20(%ecx),%edx
4336db:	8b c2                	mov    %edx,%eax
4336dd:	c1 e8 05             	shr    $0x5,%eax
4336e0:	a8 01                	test   $0x1,%al
4336e2:	74 09                	je     0x4336ed
4336e4:	81 ca 80 00 00 00    	or     $0x80,%edx
4336ea:	89 51 20             	mov    %edx,0x20(%ecx)
4336ed:	6a 00                	push   $0x0
4336ef:	6a 08                	push   $0x8
4336f1:	e8 24 fe ff ff       	call   0x43351a
4336f6:	c3                   	ret
4336f7:	6a 01                	push   $0x1
4336f9:	6a 10                	push   $0x10
4336fb:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
433702:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
433709:	e8 0c fe ff ff       	call   0x43351a
43370e:	c3                   	ret
43370f:	8b ff                	mov    %edi,%edi
433711:	53                   	push   %ebx
433712:	56                   	push   %esi
433713:	8b f1                	mov    %ecx,%esi
433715:	57                   	push   %edi
433716:	83 46 14 04          	addl   $0x4,0x14(%esi)
43371a:	8b 46 14             	mov    0x14(%esi),%eax
43371d:	8b 7e 28             	mov    0x28(%esi),%edi
433720:	8b 58 fc             	mov    -0x4(%eax),%ebx
433723:	89 5e 34             	mov    %ebx,0x34(%esi)
433726:	83 ff ff             	cmp    $0xffffffff,%edi
433729:	75 05                	jne    0x433730
43372b:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
433730:	ff 76 2c             	push   0x2c(%esi)
433733:	0f b6 46 31          	movzbl 0x31(%esi),%eax
433737:	50                   	push   %eax
433738:	ff 76 04             	push   0x4(%esi)
43373b:	ff 36                	push   (%esi)
43373d:	e8 82 e7 ff ff       	call   0x431ec4
433742:	83 c4 10             	add    $0x10,%esp
433745:	84 c0                	test   %al,%al
433747:	74 1a                	je     0x433763
433749:	85 db                	test   %ebx,%ebx
43374b:	75 07                	jne    0x433754
43374d:	c7 46 34 44 15 46 00 	movl   $0x461544,0x34(%esi)
433754:	57                   	push   %edi
433755:	ff 76 34             	push   0x34(%esi)
433758:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
43375c:	e8 d4 30 00 00       	call   0x436835
433761:	eb 14                	jmp    0x433777
433763:	85 db                	test   %ebx,%ebx
433765:	75 07                	jne    0x43376e
433767:	c7 46 34 3c 15 46 00 	movl   $0x46153c,0x34(%esi)
43376e:	57                   	push   %edi
43376f:	ff 76 34             	push   0x34(%esi)
433772:	e8 97 2f 00 00       	call   0x43670e
433777:	59                   	pop    %ecx
433778:	59                   	pop    %ecx
433779:	5f                   	pop    %edi
43377a:	89 46 38             	mov    %eax,0x38(%esi)
43377d:	b0 01                	mov    $0x1,%al
43377f:	5e                   	pop    %esi
433780:	5b                   	pop    %ebx
433781:	c3                   	ret
433782:	8b ff                	mov    %edi,%edi
433784:	53                   	push   %ebx
433785:	56                   	push   %esi
433786:	8b f1                	mov    %ecx,%esi
433788:	57                   	push   %edi
433789:	83 46 14 04          	addl   $0x4,0x14(%esi)
43378d:	8b 46 14             	mov    0x14(%esi),%eax
433790:	8b 7e 28             	mov    0x28(%esi),%edi
433793:	8b 58 fc             	mov    -0x4(%eax),%ebx
433796:	89 5e 34             	mov    %ebx,0x34(%esi)
433799:	83 ff ff             	cmp    $0xffffffff,%edi
43379c:	75 05                	jne    0x4337a3
43379e:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
4337a3:	ff 76 2c             	push   0x2c(%esi)
4337a6:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4337aa:	50                   	push   %eax
4337ab:	ff 76 04             	push   0x4(%esi)
4337ae:	ff 36                	push   (%esi)
4337b0:	e8 4f e7 ff ff       	call   0x431f04
4337b5:	83 c4 10             	add    $0x10,%esp
4337b8:	84 c0                	test   %al,%al
4337ba:	74 1c                	je     0x4337d8
4337bc:	85 db                	test   %ebx,%ebx
4337be:	75 07                	jne    0x4337c7
4337c0:	c7 46 34 44 15 46 00 	movl   $0x461544,0x34(%esi)
4337c7:	57                   	push   %edi
4337c8:	ff 76 34             	push   0x34(%esi)
4337cb:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
4337cf:	e8 61 30 00 00       	call   0x436835
4337d4:	59                   	pop    %ecx
4337d5:	59                   	pop    %ecx
4337d6:	eb 15                	jmp    0x4337ed
4337d8:	85 db                	test   %ebx,%ebx
4337da:	75 07                	jne    0x4337e3
4337dc:	c7 46 34 3c 15 46 00 	movl   $0x46153c,0x34(%esi)
4337e3:	6a 00                	push   $0x0
4337e5:	57                   	push   %edi
4337e6:	8b ce                	mov    %esi,%ecx
4337e8:	e8 09 00 00 00       	call   0x4337f6
4337ed:	5f                   	pop    %edi
4337ee:	89 46 38             	mov    %eax,0x38(%esi)
4337f1:	b0 01                	mov    $0x1,%al
4337f3:	5e                   	pop    %esi
4337f4:	5b                   	pop    %ebx
4337f5:	c3                   	ret
4337f6:	8b ff                	mov    %edi,%edi
4337f8:	55                   	push   %ebp
4337f9:	8b ec                	mov    %esp,%ebp
4337fb:	56                   	push   %esi
4337fc:	57                   	push   %edi
4337fd:	8b f9                	mov    %ecx,%edi
4337ff:	33 f6                	xor    %esi,%esi
433801:	8b 57 34             	mov    0x34(%edi),%edx
433804:	39 75 08             	cmp    %esi,0x8(%ebp)
433807:	7e 25                	jle    0x43382e
433809:	53                   	push   %ebx
43380a:	8a 02                	mov    (%edx),%al
43380c:	84 c0                	test   %al,%al
43380e:	74 1d                	je     0x43382d
433810:	0f b6 c8             	movzbl %al,%ecx
433813:	bb 00 80 00 00       	mov    $0x8000,%ebx
433818:	8b 47 08             	mov    0x8(%edi),%eax
43381b:	8b 00                	mov    (%eax),%eax
43381d:	8b 00                	mov    (%eax),%eax
43381f:	66 85 1c 48          	test   %bx,(%eax,%ecx,2)
433823:	74 01                	je     0x433826
433825:	42                   	inc    %edx
433826:	42                   	inc    %edx
433827:	46                   	inc    %esi
433828:	3b 75 08             	cmp    0x8(%ebp),%esi
43382b:	7c dd                	jl     0x43380a
43382d:	5b                   	pop    %ebx
43382e:	5f                   	pop    %edi
43382f:	8b c6                	mov    %esi,%eax
433831:	5e                   	pop    %esi
433832:	5d                   	pop    %ebp
433833:	c2 08 00             	ret    $0x8
433836:	83 39 00             	cmpl   $0x0,(%ecx)
433839:	75 13                	jne    0x43384e
43383b:	e8 f6 05 00 00       	call   0x433e36
433840:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
433846:	e8 2f 05 00 00       	call   0x433d7a
43384b:	32 c0                	xor    %al,%al
43384d:	c3                   	ret
43384e:	b0 01                	mov    $0x1,%al
433850:	c3                   	ret
433851:	8b ff                	mov    %edi,%edi
433853:	55                   	push   %ebp
433854:	8b ec                	mov    %esp,%ebp
433856:	8b d1                	mov    %ecx,%edx
433858:	8b 0a                	mov    (%edx),%ecx
43385a:	8b 41 08             	mov    0x8(%ecx),%eax
43385d:	3b 41 04             	cmp    0x4(%ecx),%eax
433860:	8b 45 0c             	mov    0xc(%ebp),%eax
433863:	75 14                	jne    0x433879
433865:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
433869:	74 04                	je     0x43386f
43386b:	ff 00                	incl   (%eax)
43386d:	eb 03                	jmp    0x433872
43386f:	83 08 ff             	orl    $0xffffffff,(%eax)
433872:	8b 02                	mov    (%edx),%eax
433874:	8a 40 0c             	mov    0xc(%eax),%al
433877:	eb 16                	jmp    0x43388f
433879:	ff 00                	incl   (%eax)
43387b:	8b 02                	mov    (%edx),%eax
43387d:	ff 40 08             	incl   0x8(%eax)
433880:	8b 02                	mov    (%edx),%eax
433882:	8b 08                	mov    (%eax),%ecx
433884:	8a 45 08             	mov    0x8(%ebp),%al
433887:	88 01                	mov    %al,(%ecx)
433889:	8b 02                	mov    (%edx),%eax
43388b:	ff 00                	incl   (%eax)
43388d:	b0 01                	mov    $0x1,%al
43388f:	5d                   	pop    %ebp
433890:	c2 08 00             	ret    $0x8
433893:	8b ff                	mov    %edi,%edi
433895:	55                   	push   %ebp
433896:	8b ec                	mov    %esp,%ebp
433898:	8b d1                	mov    %ecx,%edx
43389a:	8b 0a                	mov    (%edx),%ecx
43389c:	8b 41 08             	mov    0x8(%ecx),%eax
43389f:	3b 41 04             	cmp    0x4(%ecx),%eax
4338a2:	8b 45 0c             	mov    0xc(%ebp),%eax
4338a5:	75 14                	jne    0x4338bb
4338a7:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
4338ab:	74 04                	je     0x4338b1
4338ad:	ff 00                	incl   (%eax)
4338af:	eb 03                	jmp    0x4338b4
4338b1:	83 08 ff             	orl    $0xffffffff,(%eax)
4338b4:	8b 02                	mov    (%edx),%eax
4338b6:	8a 40 0c             	mov    0xc(%eax),%al
4338b9:	eb 19                	jmp    0x4338d4