599557:	0f 84 92 00 00 00    	je     0x5995ef
59955d:	0f 1f 00             	nopl   (%eax)
599560:	0f b7 1c 68          	movzwl (%eax,%ebp,2),%ebx
599564:	33 c0                	xor    %eax,%eax
599566:	85 ff                	test   %edi,%edi
599568:	74 62                	je     0x5995cc
59956a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
599570:	66 39 1c 41          	cmp    %bx,(%ecx,%eax,2)
599574:	74 07                	je     0x59957d
599576:	40                   	inc    %eax
599577:	3b c7                	cmp    %edi,%eax
599579:	72 f5                	jb     0x599570
59957b:	eb 4f                	jmp    0x5995cc
59957d:	8d 43 ff             	lea    -0x1(%ebx),%eax
599580:	66 83 f8 1d          	cmp    $0x1d,%ax
599584:	77 46                	ja     0x5995cc
599586:	8b c3                	mov    %ebx,%eax
599588:	8d 04 40             	lea    (%eax,%eax,2),%eax
59958b:	8d 0c 85 fc 74 66 00 	lea    0x6674fc(,%eax,4),%ecx
599592:	85 c9                	test   %ecx,%ecx
599594:	74 36                	je     0x5995cc
599596:	8b c3                	mov    %ebx,%eax
599598:	88 5c 24 25          	mov    %bl,0x25(%esp)
59959c:	c1 e8 08             	shr    $0x8,%eax
59959f:	88 44 24 24          	mov    %al,0x24(%esp)
5995a3:	8d 44 24 24          	lea    0x24(%esp),%eax
5995a7:	50                   	push   %eax
5995a8:	ff 31                	push   (%ecx)
5995aa:	ff 71 04             	push   0x4(%ecx)
5995ad:	68 05 00 02 00       	push   $0x20005
5995b2:	56                   	push   %esi
5995b3:	e8 c8 1f ff ff       	call   0x58b580
5995b8:	83 c4 14             	add    $0x14,%esp
5995bb:	85 c0                	test   %eax,%eax
5995bd:	74 0d                	je     0x5995cc
5995bf:	8b 54 24 14          	mov    0x14(%esp),%edx
5995c3:	85 d2                	test   %edx,%edx
5995c5:	74 16                	je     0x5995dd
5995c7:	42                   	inc    %edx
5995c8:	89 54 24 14          	mov    %edx,0x14(%esp)
5995cc:	45                   	inc    %ebp
5995cd:	3b 6c 24 18          	cmp    0x18(%esp),%ebp
5995d1:	73 1c                	jae    0x5995ef
5995d3:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5995d7:	8b 44 24 10          	mov    0x10(%esp),%eax
5995db:	eb 83                	jmp    0x599560
5995dd:	5d                   	pop    %ebp
5995de:	8b cb                	mov    %ebx,%ecx
5995e0:	33 c0                	xor    %eax,%eax
5995e2:	5f                   	pop    %edi
5995e3:	66 85 c9             	test   %cx,%cx
5995e6:	5b                   	pop    %ebx
5995e7:	0f 95 c0             	setne  %al
5995ea:	5e                   	pop    %esi
5995eb:	83 c4 10             	add    $0x10,%esp
5995ee:	c3                   	ret
5995ef:	5d                   	pop    %ebp
5995f0:	33 c9                	xor    %ecx,%ecx
5995f2:	33 c0                	xor    %eax,%eax
5995f4:	5f                   	pop    %edi
5995f5:	66 85 c9             	test   %cx,%cx
5995f8:	5b                   	pop    %ebx
5995f9:	0f 95 c0             	setne  %al
5995fc:	5e                   	pop    %esi
5995fd:	83 c4 10             	add    $0x10,%esp
599600:	c3                   	ret
599601:	8b 44 24 1c          	mov    0x1c(%esp),%eax
599605:	3d 2b c0 00 03       	cmp    $0x300c02b,%eax
59960a:	0f 85 a2 00 00 00    	jne    0x5996b2
599610:	8b 46 7c             	mov    0x7c(%esi),%eax
599613:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
599619:	85 c0                	test   %eax,%eax
59961b:	74 09                	je     0x599626
59961d:	81 78 0c 2b c0 00 03 	cmpl   $0x300c02b,0xc(%eax)
599624:	75 2d                	jne    0x599653
599626:	8d 44 24 18          	lea    0x18(%esp),%eax
59962a:	50                   	push   %eax
59962b:	8d 44 24 14          	lea    0x14(%esp),%eax
59962f:	50                   	push   %eax
599630:	56                   	push   %esi
599631:	e8 2a 05 00 00       	call   0x599b60
599636:	8b 4c 24 24          	mov    0x24(%esp),%ecx
59963a:	83 c4 0c             	add    $0xc,%esp
59963d:	33 c0                	xor    %eax,%eax
59963f:	85 c9                	test   %ecx,%ecx
599641:	74 10                	je     0x599653
599643:	8b 54 24 10          	mov    0x10(%esp),%edx
599647:	66 83 3c 42 17       	cmpw   $0x17,(%edx,%eax,2)
59964c:	74 0c                	je     0x59965a
59964e:	40                   	inc    %eax
59964f:	3b c1                	cmp    %ecx,%eax
599651:	72 f4                	jb     0x599647
599653:	33 c0                	xor    %eax,%eax
599655:	5e                   	pop    %esi
599656:	83 c4 10             	add    $0x10,%esp
599659:	c3                   	ret
59965a:	8d 44 24 18          	lea    0x18(%esp),%eax
59965e:	66 c7 44 24 18 00 17 	movw   $0x1700,0x18(%esp)
599665:	50                   	push   %eax
599666:	68 9f 01 00 00       	push   $0x19f
59966b:	68 80 00 00 00       	push   $0x80
599670:	68 06 00 02 00       	push   $0x20006
599675:	56                   	push   %esi
599676:	e8 05 1f ff ff       	call   0x58b580
59967b:	83 c4 14             	add    $0x14,%esp
59967e:	85 c0                	test   %eax,%eax
599680:	74 d1                	je     0x599653
599682:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
599686:	75 0a                	jne    0x599692
599688:	b8 01 00 00 00       	mov    $0x1,%eax
59968d:	5e                   	pop    %esi
59968e:	83 c4 10             	add    $0x10,%esp
599691:	c3                   	ret
599692:	8b 86 78 05 00 00    	mov    0x578(%esi),%eax
599698:	85 c0                	test   %eax,%eax
59969a:	74 ec                	je     0x599688
59969c:	50                   	push   %eax
59969d:	ff b6 7c 05 00 00    	push   0x57c(%esi)
5996a3:	6a 17                	push   $0x17
5996a5:	e8 66 05 00 00       	call   0x599c10
5996aa:	83 c4 0c             	add    $0xc,%esp
5996ad:	5e                   	pop    %esi
5996ae:	83 c4 10             	add    $0x10,%esp
5996b1:	c3                   	ret
5996b2:	3d 2c c0 00 03       	cmp    $0x300c02c,%eax
5996b7:	75 9a                	jne    0x599653
5996b9:	6a 01                	push   $0x1
5996bb:	6a 18                	push   $0x18
5996bd:	56                   	push   %esi
5996be:	e8 0d 00 00 00       	call   0x5996d0
5996c3:	83 c4 0c             	add    $0xc,%esp
5996c6:	5e                   	pop    %esi
5996c7:	83 c4 10             	add    $0x10,%esp
5996ca:	c3                   	ret
5996cb:	cc                   	int3
5996cc:	cc                   	int3
5996cd:	cc                   	int3
5996ce:	cc                   	int3
5996cf:	cc                   	int3
5996d0:	b8 04 00 00 00       	mov    $0x4,%eax
5996d5:	e8 d6 80 03 00       	call   0x5d17b0
5996da:	56                   	push   %esi
5996db:	8b 74 24 10          	mov    0x10(%esp),%esi
5996df:	57                   	push   %edi
5996e0:	66 85 f6             	test   %si,%si
5996e3:	74 30                	je     0x599715
5996e5:	8b 7c 24 10          	mov    0x10(%esp),%edi
5996e9:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
5996ef:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
5996f6:	74 30                	je     0x599728
5996f8:	8b 47 7c             	mov    0x7c(%edi),%eax
5996fb:	8b 80 10 02 00 00    	mov    0x210(%eax),%eax
599701:	85 c0                	test   %eax,%eax
599703:	74 23                	je     0x599728
599705:	8b 40 0c             	mov    0xc(%eax),%eax
599708:	3d 2b c0 00 03       	cmp    $0x300c02b,%eax
59970d:	75 0c                	jne    0x59971b
59970f:	66 83 fe 17          	cmp    $0x17,%si
599713:	74 13                	je     0x599728
599715:	5f                   	pop    %edi
599716:	33 c0                	xor    %eax,%eax
599718:	5e                   	pop    %esi
599719:	59                   	pop    %ecx
59971a:	c3                   	ret
59971b:	3d 2c c0 00 03       	cmp    $0x300c02c,%eax
599720:	75 f3                	jne    0x599715
599722:	66 83 fe 18          	cmp    $0x18,%si
599726:	75 ed                	jne    0x599715
599728:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
59972d:	74 32                	je     0x599761
59972f:	8d 44 24 14          	lea    0x14(%esp),%eax
599733:	50                   	push   %eax
599734:	8d 44 24 0c          	lea    0xc(%esp),%eax
599738:	50                   	push   %eax
599739:	57                   	push   %edi
59973a:	e8 21 04 00 00       	call   0x599b60
59973f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
599743:	83 c4 0c             	add    $0xc,%esp
599746:	33 c0                	xor    %eax,%eax
599748:	85 c9                	test   %ecx,%ecx
59974a:	74 c9                	je     0x599715
59974c:	8b 54 24 08          	mov    0x8(%esp),%edx
599750:	66 39 34 42          	cmp    %si,(%edx,%eax,2)
599754:	74 0b                	je     0x599761
599756:	40                   	inc    %eax
599757:	3b c1                	cmp    %ecx,%eax
599759:	72 f5                	jb     0x599750
59975b:	5f                   	pop    %edi
59975c:	33 c0                	xor    %eax,%eax
59975e:	5e                   	pop    %esi
59975f:	59                   	pop    %ecx
599760:	c3                   	ret
599761:	68 06 00 02 00       	push   $0x20006
599766:	56                   	push   %esi
599767:	57                   	push   %edi
599768:	e8 13 17 00 00       	call   0x59ae80
59976d:	83 c4 0c             	add    $0xc,%esp
599770:	85 c0                	test   %eax,%eax
599772:	74 a1                	je     0x599715
599774:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
599778:	74 1e                	je     0x599798
59977a:	8b 87 78 05 00 00    	mov    0x578(%edi),%eax
599780:	85 c0                	test   %eax,%eax
599782:	74 14                	je     0x599798
599784:	50                   	push   %eax
599785:	ff b7 7c 05 00 00    	push   0x57c(%edi)
59978b:	56                   	push   %esi
59978c:	e8 7f 04 00 00       	call   0x599c10
599791:	83 c4 0c             	add    $0xc,%esp
599794:	5f                   	pop    %edi
599795:	5e                   	pop    %esi
599796:	59                   	pop    %ecx
599797:	c3                   	ret
599798:	5f                   	pop    %edi
599799:	b8 01 00 00 00       	mov    $0x1,%eax
59979e:	5e                   	pop    %esi
59979f:	59                   	pop    %ecx
5997a0:	c3                   	ret
5997a1:	cc                   	int3
5997a2:	cc                   	int3
5997a3:	cc                   	int3
5997a4:	cc                   	int3
5997a5:	cc                   	int3
5997a6:	cc                   	int3
5997a7:	cc                   	int3
5997a8:	cc                   	int3
5997a9:	cc                   	int3
5997aa:	cc                   	int3
5997ab:	cc                   	int3
5997ac:	cc                   	int3
5997ad:	cc                   	int3
5997ae:	cc                   	int3
5997af:	cc                   	int3
5997b0:	56                   	push   %esi
5997b1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5997b5:	57                   	push   %edi
5997b6:	56                   	push   %esi
5997b7:	e8 04 69 f5 ff       	call   0x4f00c0
5997bc:	83 c4 04             	add    $0x4,%esp
5997bf:	3d 98 01 00 00       	cmp    $0x198,%eax
5997c4:	0f 85 8a 00 00 00    	jne    0x599854
5997ca:	56                   	push   %esi
5997cb:	e8 00 76 f5 ff       	call   0x4f0dd0
5997d0:	8b f0                	mov    %eax,%esi
5997d2:	56                   	push   %esi
5997d3:	e8 68 da f4 ff       	call   0x4e7240
5997d8:	56                   	push   %esi
5997d9:	8b f8                	mov    %eax,%edi
5997db:	e8 b0 80 f5 ff       	call   0x4f1890
5997e0:	8b 74 24 18          	mov    0x18(%esp),%esi
5997e4:	83 c4 0c             	add    $0xc,%esp
5997e7:	83 f8 04             	cmp    $0x4,%eax
5997ea:	75 04                	jne    0x5997f0
5997ec:	32 c9                	xor    %cl,%cl
5997ee:	eb 3f                	jmp    0x59982f
5997f0:	8b 4e 04             	mov    0x4(%esi),%ecx
5997f3:	8b 41 64             	mov    0x64(%ecx),%eax
5997f6:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5997fa:	75 10                	jne    0x59980c
5997fc:	8b 01                	mov    (%ecx),%eax
5997fe:	3d 04 03 00 00       	cmp    $0x304,%eax
599803:	7c 07                	jl     0x59980c
599805:	3d 00 00 01 00       	cmp    $0x10000,%eax
59980a:	75 48                	jne    0x599854
59980c:	57                   	push   %edi
59980d:	e8 ae 68 f5 ff       	call   0x4f00c0
599812:	50                   	push   %eax
599813:	e8 b8 fd f3 ff       	call   0x4d95d0
599818:	83 c4 08             	add    $0x8,%esp
59981b:	3d 96 01 00 00       	cmp    $0x196,%eax
599820:	75 04                	jne    0x599826
599822:	b1 01                	mov    $0x1,%cl
599824:	eb 09                	jmp    0x59982f
599826:	3d 97 01 00 00       	cmp    $0x197,%eax
59982b:	75 22                	jne    0x59984f
59982d:	b1 02                	mov    $0x2,%cl
59982f:	8b 96 6c 05 00 00    	mov    0x56c(%esi),%edx
599835:	85 d2                	test   %edx,%edx
599837:	74 1b                	je     0x599854
599839:	8b b6 68 05 00 00    	mov    0x568(%esi),%esi
59983f:	33 c0                	xor    %eax,%eax
599841:	85 f6                	test   %esi,%esi
599843:	74 0a                	je     0x59984f
599845:	38 0c 02             	cmp    %cl,(%edx,%eax,1)
599848:	74 0a                	je     0x599854
59984a:	40                   	inc    %eax
59984b:	3b c6                	cmp    %esi,%eax
59984d:	72 f6                	jb     0x599845
59984f:	5f                   	pop    %edi
599850:	33 c0                	xor    %eax,%eax
599852:	5e                   	pop    %esi
599853:	c3                   	ret
599854:	5f                   	pop    %edi
599855:	b8 01 00 00 00       	mov    $0x1,%eax
59985a:	5e                   	pop    %esi
59985b:	c3                   	ret
59985c:	cc                   	int3
59985d:	cc                   	int3
59985e:	cc                   	int3
59985f:	cc                   	int3
599860:	53                   	push   %ebx
599861:	55                   	push   %ebp
599862:	56                   	push   %esi
599863:	8b 74 24 18          	mov    0x18(%esp),%esi
599867:	33 ed                	xor    %ebp,%ebp
599869:	57                   	push   %edi
59986a:	83 fe ff             	cmp    $0xffffffff,%esi
59986d:	0f 84 ba 00 00 00    	je     0x59992d
599873:	ff 74 24 18          	push   0x18(%esp)
599877:	e8 84 d9 fb ff       	call   0x557200
59987c:	83 c4 04             	add    $0x4,%esp
59987f:	8b d0                	mov    %eax,%edx
599881:	89 54 24 1c          	mov    %edx,0x1c(%esp)
599885:	85 f6                	test   %esi,%esi
599887:	74 0c                	je     0x599895
599889:	5f                   	pop    %edi
59988a:	33 c0                	xor    %eax,%eax
59988c:	3b d6                	cmp    %esi,%edx
59988e:	5e                   	pop    %esi
59988f:	5d                   	pop    %ebp
599890:	0f 94 c0             	sete   %al
599893:	5b                   	pop    %ebx
599894:	c3                   	ret
599895:	8b 7c 24 14          	mov    0x14(%esp),%edi
599899:	8b 4f 04             	mov    0x4(%edi),%ecx
59989c:	8b 41 64             	mov    0x64(%ecx),%eax
59989f:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5998a3:	75 28                	jne    0x5998cd
5998a5:	8b 01                	mov    (%ecx),%eax
5998a7:	3d 04 03 00 00       	cmp    $0x304,%eax
5998ac:	7c 1f                	jl     0x5998cd
5998ae:	3d 00 00 01 00       	cmp    $0x10000,%eax
5998b3:	74 18                	je     0x5998cd
5998b5:	8b 47 7c             	mov    0x7c(%edi),%eax
5998b8:	39 a8 6c 02 00 00    	cmp    %ebp,0x26c(%eax)
5998be:	74 0d                	je     0x5998cd
5998c0:	8b 98 74 02 00 00    	mov    0x274(%eax),%ebx
5998c6:	bd 01 00 00 00       	mov    $0x1,%ebp
5998cb:	eb 06                	jmp    0x5998d3
5998cd:	8b 9f 8c 0f 00 00    	mov    0xf8c(%edi),%ebx
5998d3:	33 f6                	xor    %esi,%esi
5998d5:	85 db                	test   %ebx,%ebx
5998d7:	74 4d                	je     0x599926
5998d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5998e0:	85 ed                	test   %ebp,%ebp
5998e2:	74 2b                	je     0x59990f
5998e4:	8b 4f 7c             	mov    0x7c(%edi),%ecx
5998e7:	33 d2                	xor    %edx,%edx
5998e9:	b8 b8 76 66 00       	mov    $0x6676b8,%eax
5998ee:	8b 89 6c 02 00 00    	mov    0x26c(%ecx),%ecx