5984c5:	f7 d0                	not    %eax
5984c7:	23 f8                	and    %eax,%edi
5984c9:	89 7c 24 20          	mov    %edi,0x20(%esp)
5984cd:	eb 04                	jmp    0x5984d3
5984cf:	8b 7c 24 20          	mov    0x20(%esp),%edi
5984d3:	83 c5 02             	add    $0x2,%ebp
5984d6:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
5984db:	75 93                	jne    0x598470
5984dd:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5984e1:	5e                   	pop    %esi
5984e2:	09 7d 00             	or     %edi,0x0(%ebp)
5984e5:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
5984e8:	6a 00                	push   $0x0
5984ea:	8d 81 ac 02 00 00    	lea    0x2ac(%ecx),%eax
5984f0:	50                   	push   %eax
5984f1:	8d 81 a8 02 00 00    	lea    0x2a8(%ecx),%eax
5984f7:	50                   	push   %eax
5984f8:	53                   	push   %ebx
5984f9:	e8 52 c1 ff ff       	call   0x594650
5984fe:	83 c4 10             	add    $0x10,%esp
598501:	85 c0                	test   %eax,%eax
598503:	74 09                	je     0x59850e
598505:	5f                   	pop    %edi
598506:	5d                   	pop    %ebp
598507:	33 c0                	xor    %eax,%eax
598509:	5b                   	pop    %ebx
59850a:	83 c4 0c             	add    $0xc,%esp
59850d:	c3                   	ret
59850e:	83 bb c0 04 00 00 00 	cmpl   $0x0,0x4c0(%ebx)
598515:	75 17                	jne    0x59852e
598517:	8b 43 7c             	mov    0x7c(%ebx),%eax
59851a:	83 88 a4 02 00 00 10 	orl    $0x10,0x2a4(%eax)
598521:	8b 43 7c             	mov    0x7c(%ebx),%eax
598524:	81 88 a0 02 00 00 c8 	orl    $0x1c8,0x2a0(%eax)
59852b:	01 00 00
59852e:	f6 83 48 06 00 00 20 	testb  $0x20,0x648(%ebx)
598535:	75 14                	jne    0x59854b
598537:	8b 43 7c             	mov    0x7c(%ebx),%eax
59853a:	83 88 a4 02 00 00 40 	orl    $0x40,0x2a4(%eax)
598541:	8b 43 7c             	mov    0x7c(%ebx),%eax
598544:	83 88 a0 02 00 00 20 	orl    $0x20,0x2a0(%eax)
59854b:	5f                   	pop    %edi
59854c:	5d                   	pop    %ebp
59854d:	b8 01 00 00 00       	mov    $0x1,%eax
598552:	5b                   	pop    %ebx
598553:	83 c4 0c             	add    $0xc,%esp
598556:	c3                   	ret
598557:	cc                   	int3
598558:	cc                   	int3
598559:	cc                   	int3
59855a:	cc                   	int3
59855b:	cc                   	int3
59855c:	cc                   	int3
59855d:	cc                   	int3
59855e:	cc                   	int3
59855f:	cc                   	int3
598560:	b8 08 00 00 00       	mov    $0x8,%eax
598565:	e8 46 92 03 00       	call   0x5d17b0
59856a:	53                   	push   %ebx
59856b:	8d 44 24 08          	lea    0x8(%esp),%eax
59856f:	bb 0b 00 00 00       	mov    $0xb,%ebx
598574:	50                   	push   %eax
598575:	6a 01                	push   $0x1
598577:	ff 74 24 1c          	push   0x1c(%esp)
59857b:	e8 d0 04 00 00       	call   0x598a50
598580:	83 c4 0c             	add    $0xc,%esp
598583:	89 44 24 04          	mov    %eax,0x4(%esp)
598587:	85 c0                	test   %eax,%eax
598589:	74 65                	je     0x5985f0
59858b:	55                   	push   %ebp
59858c:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
598590:	56                   	push   %esi
598591:	57                   	push   %edi
598592:	0f b7 4d 00          	movzwl 0x0(%ebp),%ecx
598596:	33 c0                	xor    %eax,%eax
598598:	be b8 76 66 00       	mov    $0x6676b8,%esi
59859d:	0f 1f 00             	nopl   (%eax)
5985a0:	66 39 4e 04          	cmp    %cx,0x4(%esi)
5985a4:	74 0b                	je     0x5985b1
5985a6:	40                   	inc    %eax
5985a7:	83 c6 20             	add    $0x20,%esi
5985aa:	83 f8 17             	cmp    $0x17,%eax
5985ad:	72 f1                	jb     0x5985a0
5985af:	eb 32                	jmp    0x5985e3
5985b1:	ff 76 14             	push   0x14(%esi)
5985b4:	e8 d7 2c ff ff       	call   0x58b290
5985b9:	8b f8                	mov    %eax,%edi
5985bb:	83 c4 04             	add    $0x4,%esp
5985be:	85 ff                	test   %edi,%edi
5985c0:	74 21                	je     0x5985e3
5985c2:	85 5f 04             	test   %ebx,0x4(%edi)
5985c5:	74 1c                	je     0x5985e3
5985c7:	56                   	push   %esi
5985c8:	ff 74 24 28          	push   0x28(%esp)
5985cc:	ff 74 24 28          	push   0x28(%esp)
5985d0:	e8 cb 05 00 00       	call   0x598ba0
5985d5:	83 c4 0c             	add    $0xc,%esp
5985d8:	85 c0                	test   %eax,%eax
5985da:	74 07                	je     0x5985e3
5985dc:	8b 47 04             	mov    0x4(%edi),%eax
5985df:	f7 d0                	not    %eax
5985e1:	23 d8                	and    %eax,%ebx
5985e3:	83 c5 02             	add    $0x2,%ebp
5985e6:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
5985eb:	75 a5                	jne    0x598592
5985ed:	5f                   	pop    %edi
5985ee:	5e                   	pop    %esi
5985ef:	5d                   	pop    %ebp
5985f0:	8b 44 24 10          	mov    0x10(%esp),%eax
5985f4:	09 18                	or     %ebx,(%eax)
5985f6:	5b                   	pop    %ebx
5985f7:	83 c4 08             	add    $0x8,%esp
5985fa:	c3                   	ret
5985fb:	cc                   	int3
5985fc:	cc                   	int3
5985fd:	cc                   	int3
5985fe:	cc                   	int3
5985ff:	cc                   	int3
598600:	b8 0c 00 00 00       	mov    $0xc,%eax
598605:	e8 a6 91 03 00       	call   0x5d17b0
59860a:	55                   	push   %ebp
59860b:	ff 74 24 1c          	push   0x1c(%esp)
59860f:	e8 ac 7a f5 ff       	call   0x4f00c0
598614:	8b e8                	mov    %eax,%ebp
598616:	83 c4 04             	add    $0x4,%esp
598619:	83 fd ff             	cmp    $0xffffffff,%ebp
59861c:	75 07                	jne    0x598625
59861e:	0b c0                	or     %eax,%eax
598620:	5d                   	pop    %ebp
598621:	83 c4 0c             	add    $0xc,%esp
598624:	c3                   	ret
598625:	56                   	push   %esi
598626:	8b 74 24 18          	mov    0x18(%esp),%esi
59862a:	8b 56 04             	mov    0x4(%esi),%edx
59862d:	8b 42 64             	mov    0x64(%edx),%eax
598630:	8b 48 30             	mov    0x30(%eax),%ecx
598633:	83 e1 08             	and    $0x8,%ecx
598636:	75 47                	jne    0x59867f
598638:	8b 02                	mov    (%edx),%eax
59863a:	3d 04 03 00 00       	cmp    $0x304,%eax
59863f:	7c 3e                	jl     0x59867f
598641:	3d 00 00 01 00       	cmp    $0x10000,%eax
598646:	74 37                	je     0x59867f
598648:	83 fd 74             	cmp    $0x74,%ebp
59864b:	75 27                	jne    0x598674
59864d:	68 11 04 00 00       	push   $0x411
598652:	68 30 7b 66 00       	push   $0x667b30
598657:	68 72 01 00 00       	push   $0x172
59865c:	68 4d 01 00 00       	push   $0x14d
598661:	6a 2f                	push   $0x2f
598663:	56                   	push   %esi
598664:	e8 a7 6a ff ff       	call   0x58f110
598669:	83 c4 18             	add    $0x18,%esp
59866c:	33 c0                	xor    %eax,%eax
59866e:	5e                   	pop    %esi
59866f:	5d                   	pop    %ebp
598670:	83 c4 0c             	add    $0xc,%esp
598673:	c3                   	ret
598674:	83 fd 06             	cmp    $0x6,%ebp
598677:	b8 90 03 00 00       	mov    $0x390,%eax
59867c:	0f 44 e8             	cmove  %eax,%ebp
59867f:	53                   	push   %ebx
598680:	8b 5c 24 20          	mov    0x20(%esp),%ebx
598684:	33 c0                	xor    %eax,%eax
598686:	57                   	push   %edi
598687:	bf b8 76 66 00       	mov    $0x6676b8,%edi
59868c:	0f 1f 40 00          	nopl   0x0(%eax)
598690:	66 39 5f 04          	cmp    %bx,0x4(%edi)
598694:	74 13                	je     0x5986a9
598696:	40                   	inc    %eax
598697:	83 c7 20             	add    $0x20,%edi
59869a:	83 f8 17             	cmp    $0x17,%eax
59869d:	72 f1                	jb     0x598690
59869f:	68 22 04 00 00       	push   $0x422
5986a4:	e9 94 02 00 00       	jmp    0x59893d
5986a9:	85 c9                	test   %ecx,%ecx
5986ab:	75 1f                	jne    0x5986cc
5986ad:	8b 02                	mov    (%edx),%eax
5986af:	3d 04 03 00 00       	cmp    $0x304,%eax
5986b4:	7c 16                	jl     0x5986cc
5986b6:	3d 00 00 01 00       	cmp    $0x10000,%eax
5986bb:	74 0f                	je     0x5986cc
5986bd:	8b 47 08             	mov    0x8(%edi),%eax
5986c0:	83 f8 40             	cmp    $0x40,%eax
5986c3:	74 1a                	je     0x5986df
5986c5:	3d a3 02 00 00       	cmp    $0x2a3,%eax
5986ca:	74 13                	je     0x5986df
5986cc:	8b 47 10             	mov    0x10(%edi),%eax
5986cf:	3b e8                	cmp    %eax,%ebp
5986d1:	74 16                	je     0x5986e9
5986d3:	3d 90 03 00 00       	cmp    $0x390,%eax
5986d8:	75 05                	jne    0x5986df
5986da:	83 fd 06             	cmp    $0x6,%ebp
5986dd:	74 0a                	je     0x5986e9
5986df:	68 22 04 00 00       	push   $0x422
5986e4:	e9 54 02 00 00       	jmp    0x59893d
5986e9:	8d 44 24 14          	lea    0x14(%esp),%eax
5986ed:	50                   	push   %eax
5986ee:	ff 74 24 2c          	push   0x2c(%esp)
5986f2:	e8 c9 79 f5 ff       	call   0x4f00c0
5986f7:	83 c4 04             	add    $0x4,%esp
5986fa:	50                   	push   %eax
5986fb:	e8 b0 2b ff ff       	call   0x58b2b0
598700:	83 c4 08             	add    $0x8,%esp
598703:	85 c0                	test   %eax,%eax
598705:	0f 84 2d 02 00 00    	je     0x598938
59870b:	8b 47 14             	mov    0x14(%edi),%eax
59870e:	3b 44 24 14          	cmp    0x14(%esp),%eax
598712:	0f 85 20 02 00 00    	jne    0x598938
598718:	81 fd 98 01 00 00    	cmp    $0x198,%ebp
59871e:	0f 85 21 01 00 00    	jne    0x598845
598724:	8b 6c 24 28          	mov    0x28(%esp),%ebp
598728:	55                   	push   %ebp
598729:	56                   	push   %esi
59872a:	e8 81 10 00 00       	call   0x5997b0
59872f:	83 c4 08             	add    $0x8,%esp
598732:	85 c0                	test   %eax,%eax
598734:	75 14                	jne    0x59874a
598736:	68 34 04 00 00       	push   $0x434
59873b:	68 30 7b 66 00       	push   $0x667b30
598740:	68 a2 00 00 00       	push   $0xa2
598745:	e9 fd 01 00 00       	jmp    0x598947
59874a:	8b 4e 04             	mov    0x4(%esi),%ecx
59874d:	8b 41 64             	mov    0x64(%ecx),%eax
598750:	f6 40 30 08          	testb  $0x8,0x30(%eax)
598754:	75 10                	jne    0x598766
598756:	8b 01                	mov    (%ecx),%eax
598758:	3d 04 03 00 00       	cmp    $0x304,%eax
59875d:	7c 07                	jl     0x598766
59875f:	3d 00 00 01 00       	cmp    $0x10000,%eax
598764:	75 0f                	jne    0x598775
598766:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
59876c:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598773:	74 34                	je     0x5987a9
598775:	55                   	push   %ebp
598776:	e8 55 86 f5 ff       	call   0x4f0dd0
59877b:	50                   	push   %eax
59877c:	e8 bf ea f4 ff       	call   0x4e7240
598781:	50                   	push   %eax
598782:	e8 29 7b f5 ff       	call   0x4f02b0
598787:	8b 4f 1c             	mov    0x1c(%edi),%ecx
59878a:	83 c4 0c             	add    $0xc,%esp
59878d:	85 c9                	test   %ecx,%ecx
59878f:	74 18                	je     0x5987a9
598791:	3b c1                	cmp    %ecx,%eax
598793:	74 14                	je     0x5987a9
598795:	68 3f 04 00 00       	push   $0x43f
59879a:	68 30 7b 66 00       	push   $0x667b30
59879f:	68 7a 01 00 00       	push   $0x17a
5987a4:	e9 9e 01 00 00       	jmp    0x598947
5987a9:	8b 4e 04             	mov    0x4(%esi),%ecx
5987ac:	8b 41 64             	mov    0x64(%ecx),%eax
5987af:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5987b3:	75 14                	jne    0x5987c9
5987b5:	8b 01                	mov    (%ecx),%eax
5987b7:	3d 04 03 00 00       	cmp    $0x304,%eax
5987bc:	7c 0b                	jl     0x5987c9
5987be:	3d 00 00 01 00       	cmp    $0x10000,%eax
5987c3:	0f 85 92 00 00 00    	jne    0x59885b
5987c9:	6a 01                	push   $0x1
5987cb:	55                   	push   %ebp
5987cc:	e8 2f 12 00 00       	call   0x599a00
5987d1:	83 c4 04             	add    $0x4,%esp
5987d4:	0f b7 c0             	movzwl %ax,%eax
5987d7:	50                   	push   %eax
5987d8:	56                   	push   %esi
5987d9:	e8 f2 0e 00 00       	call   0x5996d0
5987de:	83 c4 0c             	add    $0xc,%esp
5987e1:	85 c0                	test   %eax,%eax
5987e3:	75 14                	jne    0x5987f9
5987e5:	68 47 04 00 00       	push   $0x447
5987ea:	68 30 7b 66 00       	push   $0x667b30
5987ef:	68 7a 01 00 00       	push   $0x17a
5987f4:	e9 4e 01 00 00       	jmp    0x598947
5987f9:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
5987ff:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598806:	74 53                	je     0x59885b
598808:	b8 03 04 00 00       	mov    $0x403,%eax
59880d:	66 3b d8             	cmp    %ax,%bx
598810:	74 49                	je     0x59885b
598812:	b8 03 05 00 00       	mov    $0x503,%eax
598817:	66 3b d8             	cmp    %ax,%bx
59881a:	74 3f                	je     0x59885b
59881c:	68 50 04 00 00       	push   $0x450
598821:	68 30 7b 66 00       	push   $0x667b30
598826:	68 72 01 00 00       	push   $0x172
59882b:	68 4d 01 00 00       	push   $0x14d
598830:	6a 28                	push   $0x28
598832:	56                   	push   %esi
598833:	e8 d8 68 ff ff       	call   0x58f110
598838:	83 c4 18             	add    $0x18,%esp
59883b:	33 c0                	xor    %eax,%eax
59883d:	5f                   	pop    %edi
59883e:	5b                   	pop    %ebx
59883f:	5e                   	pop    %esi
598840:	5d                   	pop    %ebp
598841:	83 c4 0c             	add    $0xc,%esp
598844:	c3                   	ret
598845:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
59884b:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598852:	74 07                	je     0x59885b
598854:	68 57 04 00 00       	push   $0x457
598859:	eb c6                	jmp    0x598821
59885b:	8d 44 24 18          	lea    0x18(%esp),%eax
59885f:	50                   	push   %eax
598860:	6a 01                	push   $0x1
598862:	56                   	push   %esi
598863:	e8 e8 01 00 00       	call   0x598a50
598868:	83 c4 0c             	add    $0xc,%esp
59886b:	33 c9                	xor    %ecx,%ecx
59886d:	85 c0                	test   %eax,%eax
59886f:	74 11                	je     0x598882
598871:	8b 54 24 18          	mov    0x18(%esp),%edx
598875:	66 3b 1a             	cmp    (%edx),%bx
598878:	74 2b                	je     0x5988a5
59887a:	41                   	inc    %ecx
59887b:	83 c2 02             	add    $0x2,%edx
59887e:	3b c8                	cmp    %eax,%ecx
598880:	72 f3                	jb     0x598875
598882:	3b c8                	cmp    %eax,%ecx
598884:	75 1f                	jne    0x5988a5
598886:	83 7f 08 40          	cmpl   $0x40,0x8(%edi)
59888a:	75 0f                	jne    0x59889b
59888c:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
598892:	f7 40 10 01 00 03 00 	testl  $0x30001,0x10(%eax)
598899:	74 0a                	je     0x5988a5
59889b:	68 66 04 00 00       	push   $0x466
5988a0:	e9 7c ff ff ff       	jmp    0x598821
5988a5:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
5988a9:	75 2d                	jne    0x5988d8
5988ab:	33 ed                	xor    %ebp,%ebp
5988ad:	8b c3                	mov    %ebx,%eax
5988af:	88 5c 24 11          	mov    %bl,0x11(%esp)
5988b3:	c1 e8 08             	shr    $0x8,%eax
5988b6:	57                   	push   %edi
5988b7:	88 44 24 14          	mov    %al,0x14(%esp)
5988bb:	e8 10 f5 ff ff       	call   0x597dd0
5988c0:	8b d8                	mov    %eax,%ebx
5988c2:	83 c4 04             	add    $0x4,%esp
5988c5:	85 db                	test   %ebx,%ebx
5988c7:	74 65                	je     0x59892e
5988c9:	85 ed                	test   %ebp,%ebp
5988cb:	74 30                	je     0x5988fd
5988cd:	55                   	push   %ebp
5988ce:	e8 ed 77 f5 ff       	call   0x4f00c0
5988d3:	83 c4 04             	add    $0x4,%esp
5988d6:	eb 27                	jmp    0x5988ff
5988d8:	ff 77 0c             	push   0xc(%edi)
5988db:	e8 80 fd fe ff       	call   0x588660
5988e0:	8b e8                	mov    %eax,%ebp