5982ea:	75 0d                	jne    0x5982f9
5982ec:	5f                   	pop    %edi
5982ed:	5e                   	pop    %esi
5982ee:	5d                   	pop    %ebp
5982ef:	b8 8e 01 00 00       	mov    $0x18e,%eax
5982f4:	5b                   	pop    %ebx
5982f5:	83 c4 08             	add    $0x8,%esp
5982f8:	c3                   	ret
5982f9:	8b 74 24 20          	mov    0x20(%esp),%esi
5982fd:	56                   	push   %esi
5982fe:	e8 bd cd f4 ff       	call   0x4e50c0
598303:	83 c4 04             	add    $0x4,%esp
598306:	3b f8                	cmp    %eax,%edi
598308:	0f 8d da 00 00 00    	jge    0x5983e8
59830e:	81 cb 11 00 06 00    	or     $0x60011,%ebx
598314:	89 5c 24 28          	mov    %ebx,0x28(%esp)
598318:	57                   	push   %edi
598319:	56                   	push   %esi
59831a:	e8 61 cf f4 ff       	call   0x4e5280
59831f:	8b f0                	mov    %eax,%esi
598321:	83 cb ff             	or     $0xffffffff,%ebx
598324:	56                   	push   %esi
598325:	e8 06 fe fb ff       	call   0x558130
59832a:	83 c4 0c             	add    $0xc,%esp
59832d:	85 c0                	test   %eax,%eax
59832f:	74 0b                	je     0x59833c
598331:	50                   	push   %eax
598332:	e8 e9 8d f5 ff       	call   0x4f1120
598337:	83 c4 04             	add    $0x4,%esp
59833a:	8b d8                	mov    %eax,%ebx
59833c:	56                   	push   %esi
59833d:	6a 00                	push   $0x0
59833f:	53                   	push   %ebx
598340:	ff 74 24 34          	push   0x34(%esp)
598344:	85 ed                	test   %ebp,%ebp
598346:	74 08                	je     0x598350
598348:	55                   	push   %ebp
598349:	e8 32 32 ff ff       	call   0x58b580
59834e:	eb 07                	jmp    0x598357
598350:	6a 00                	push   $0x0
598352:	e8 f9 31 ff ff       	call   0x58b550
598357:	83 c4 14             	add    $0x14,%esp
59835a:	85 c0                	test   %eax,%eax
59835c:	0f 84 93 00 00 00    	je     0x5983f5
598362:	56                   	push   %esi
598363:	e8 38 42 fc ff       	call   0x55c5a0
598368:	83 c4 04             	add    $0x4,%esp
59836b:	a9 00 20 00 00       	test   $0x2000,%eax
598370:	75 60                	jne    0x5983d2
598372:	6a 00                	push   $0x0
598374:	8d 44 24 20          	lea    0x20(%esp),%eax
598378:	50                   	push   %eax
598379:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59837d:	50                   	push   %eax
59837e:	8d 44 24 1c          	lea    0x1c(%esp),%eax
598382:	50                   	push   %eax
598383:	56                   	push   %esi
598384:	e8 a7 8a f8 ff       	call   0x520e30
598389:	8b 4c 24 30          	mov    0x30(%esp),%ecx
59838d:	83 c4 14             	add    $0x14,%esp
598390:	85 c0                	test   %eax,%eax
598392:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
598397:	0f 44 c8             	cmove  %eax,%ecx
59839a:	8b 44 24 10          	mov    0x10(%esp),%eax
59839e:	85 c0                	test   %eax,%eax
5983a0:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5983a4:	56                   	push   %esi
5983a5:	0f 44 44 24 18       	cmove  0x18(%esp),%eax
5983aa:	89 44 24 14          	mov    %eax,0x14(%esp)
5983ae:	50                   	push   %eax
5983af:	51                   	push   %ecx
5983b0:	ff 74 24 30          	push   0x30(%esp)
5983b4:	85 ed                	test   %ebp,%ebp
5983b6:	74 08                	je     0x5983c0
5983b8:	55                   	push   %ebp
5983b9:	e8 c2 31 ff ff       	call   0x58b580
5983be:	eb 07                	jmp    0x5983c7
5983c0:	6a 00                	push   $0x0
5983c2:	e8 89 31 ff ff       	call   0x58b550
5983c7:	83 c4 14             	add    $0x14,%esp
5983ca:	85 c0                	test   %eax,%eax
5983cc:	0f 84 1a ff ff ff    	je     0x5982ec
5983d2:	8b 74 24 20          	mov    0x20(%esp),%esi
5983d6:	47                   	inc    %edi
5983d7:	56                   	push   %esi
5983d8:	e8 e3 cc f4 ff       	call   0x4e50c0
5983dd:	83 c4 04             	add    $0x4,%esp
5983e0:	3b f8                	cmp    %eax,%edi
5983e2:	0f 8c 30 ff ff ff    	jl     0x598318
5983e8:	5f                   	pop    %edi
5983e9:	5e                   	pop    %esi
5983ea:	5d                   	pop    %ebp
5983eb:	b8 01 00 00 00       	mov    $0x1,%eax
5983f0:	5b                   	pop    %ebx
5983f1:	83 c4 08             	add    $0x8,%esp
5983f4:	c3                   	ret
5983f5:	5f                   	pop    %edi
5983f6:	5e                   	pop    %esi
5983f7:	5d                   	pop    %ebp
5983f8:	b8 8d 01 00 00       	mov    $0x18d,%eax
5983fd:	5b                   	pop    %ebx
5983fe:	83 c4 08             	add    $0x8,%esp
598401:	c3                   	ret
598402:	cc                   	int3
598403:	cc                   	int3
598404:	cc                   	int3
598405:	cc                   	int3
598406:	cc                   	int3
598407:	cc                   	int3
598408:	cc                   	int3
598409:	cc                   	int3
59840a:	cc                   	int3
59840b:	cc                   	int3
59840c:	cc                   	int3
59840d:	cc                   	int3
59840e:	cc                   	int3
59840f:	cc                   	int3
598410:	b8 0c 00 00 00       	mov    $0xc,%eax
598415:	e8 96 93 03 00       	call   0x5d17b0
59841a:	53                   	push   %ebx
59841b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59841f:	55                   	push   %ebp
598420:	57                   	push   %edi
598421:	bf 0b 00 00 00       	mov    $0xb,%edi
598426:	8b 43 7c             	mov    0x7c(%ebx),%eax
598429:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
59842d:	c7 80 a4 02 00 00 00 	movl   $0x0,0x2a4(%eax)
598434:	00 00 00
598437:	8b 43 7c             	mov    0x7c(%ebx),%eax
59843a:	c7 80 a0 02 00 00 00 	movl   $0x0,0x2a0(%eax)
598441:	00 00 00
598444:	8d 44 24 10          	lea    0x10(%esp),%eax
598448:	8b 6b 7c             	mov    0x7c(%ebx),%ebp
59844b:	50                   	push   %eax
59844c:	6a 01                	push   $0x1
59844e:	81 c5 a4 02 00 00    	add    $0x2a4,%ebp
598454:	53                   	push   %ebx
598455:	89 6c 24 20          	mov    %ebp,0x20(%esp)
598459:	e8 f2 05 00 00       	call   0x598a50
59845e:	83 c4 0c             	add    $0xc,%esp
598461:	89 44 24 0c          	mov    %eax,0xc(%esp)
598465:	85 c0                	test   %eax,%eax
598467:	74 79                	je     0x5984e2
598469:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59846d:	56                   	push   %esi
59846e:	66 90                	xchg   %ax,%ax
598470:	0f b7 45 00          	movzwl 0x0(%ebp),%eax
598474:	33 c9                	xor    %ecx,%ecx
598476:	be b8 76 66 00       	mov    $0x6676b8,%esi
59847b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
598480:	66 39 46 04          	cmp    %ax,0x4(%esi)
598484:	74 0b                	je     0x598491
598486:	41                   	inc    %ecx
598487:	83 c6 20             	add    $0x20,%esi
59848a:	83 f9 17             	cmp    $0x17,%ecx
59848d:	72 f1                	jb     0x598480
59848f:	eb 42                	jmp    0x5984d3
598491:	ff 76 14             	push   0x14(%esi)
598494:	e8 f7 2d ff ff       	call   0x58b290
598499:	8b f8                	mov    %eax,%edi
59849b:	83 c4 04             	add    $0x4,%esp
59849e:	85 ff                	test   %edi,%edi
5984a0:	74 2d                	je     0x5984cf
5984a2:	8b 44 24 20          	mov    0x20(%esp),%eax
5984a6:	85 47 04             	test   %eax,0x4(%edi)
5984a9:	74 24                	je     0x5984cf
5984ab:	56                   	push   %esi
5984ac:	68 0e 00 05 00       	push   $0x5000e
5984b1:	53                   	push   %ebx
5984b2:	e8 e9 06 00 00       	call   0x598ba0
5984b7:	83 c4 0c             	add    $0xc,%esp
5984ba:	85 c0                	test   %eax,%eax
5984bc:	74 11                	je     0x5984cf
5984be:	8b 47 04             	mov    0x4(%edi),%eax
5984c1:	8b 7c 24 20          	mov    0x20(%esp),%edi
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