416595:	03 c3                	add    %ebx,%eax
416597:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
41659d:	f6 45 08 20          	testb  $0x20,0x8(%ebp)
4165a1:	89 07                	mov    %eax,(%edi)
4165a3:	74 19                	je     0x4165be
4165a5:	ff 75 f0             	push   -0x10(%ebp)
4165a8:	e8 58 44 ff ff       	call   0x40aa05
4165ad:	8b 55 0c             	mov    0xc(%ebp),%edx
4165b0:	89 47 04             	mov    %eax,0x4(%edi)
4165b3:	8b 8e e0 e6 00 00    	mov    0xe6e0(%esi),%ecx
4165b9:	89 04 91             	mov    %eax,(%ecx,%edx,4)
4165bc:	eb 1b                	jmp    0x4165d9
4165be:	8b 45 0c             	mov    0xc(%ebp),%eax
4165c1:	3b 86 e4 e6 00 00    	cmp    0xe6e4(%esi),%eax
4165c7:	73 0b                	jae    0x4165d4
4165c9:	8b 8e e0 e6 00 00    	mov    0xe6e0(%esi),%ecx
4165cf:	8b 04 81             	mov    (%ecx,%eax,4),%eax
4165d2:	eb 02                	jmp    0x4165d6
4165d4:	33 c0                	xor    %eax,%eax
4165d6:	89 47 04             	mov    %eax,0x4(%edi)
4165d9:	8b 46 74             	mov    0x74(%esi),%eax
4165dc:	8b 4e 70             	mov    0x70(%esi),%ecx
4165df:	3b c1                	cmp    %ecx,%eax
4165e1:	74 11                	je     0x4165f4
4165e3:	2b c1                	sub    %ecx,%eax
4165e5:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
4165eb:	3b c3                	cmp    %ebx,%eax
4165ed:	77 05                	ja     0x4165f4
4165ef:	33 c0                	xor    %eax,%eax
4165f1:	40                   	inc    %eax
4165f2:	eb 02                	jmp    0x4165f6
4165f4:	33 c0                	xor    %eax,%eax
4165f6:	6a 1c                	push   $0x1c
4165f8:	8d 5f 4c             	lea    0x4c(%edi),%ebx
4165fb:	6a 00                	push   $0x0
4165fd:	53                   	push   %ebx
4165fe:	88 47 0c             	mov    %al,0xc(%edi)
416601:	e8 fa 3b 00 00       	call   0x41a200
416606:	8b 47 04             	mov    0x4(%edi),%eax
416609:	89 47 5c             	mov    %eax,0x5c(%edi)
41660c:	8b 47 08             	mov    0x8(%edi),%eax
41660f:	83 c4 0c             	add    $0xc,%esp
416612:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
416616:	c7 47 58 00 c0 03 00 	movl   $0x3c000,0x58(%edi)
41661d:	89 47 60             	mov    %eax,0x60(%edi)
416620:	74 3d                	je     0x41665f
416622:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416625:	e8 25 31 ff ff       	call   0x40974f
41662a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41662d:	8b f0                	mov    %eax,%esi
41662f:	6a 07                	push   $0x7
416631:	c1 ee 09             	shr    $0x9,%esi
416634:	e8 ff 30 ff ff       	call   0x409738
416639:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
41663d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416640:	33 c0                	xor    %eax,%eax
416642:	40                   	inc    %eax
416643:	d3 e0                	shl    %cl,%eax
416645:	85 c6                	test   %eax,%esi
416647:	74 0a                	je     0x416653
416649:	ff 75 f0             	push   -0x10(%ebp)
41664c:	e8 b4 43 ff ff       	call   0x40aa05
416651:	89 03                	mov    %eax,(%ebx)
416653:	ff 45 0c             	incl   0xc(%ebp)
416656:	83 c3 04             	add    $0x4,%ebx
416659:	83 7d 0c 07          	cmpl   $0x7,0xc(%ebp)
41665d:	7c de                	jl     0x41663d
41665f:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
416663:	0f 84 98 00 00 00    	je     0x416701
416669:	ff 75 f0             	push   -0x10(%ebp)
41666c:	e8 94 43 ff ff       	call   0x40aa05
416671:	8b d8                	mov    %eax,%ebx
416673:	89 5d 10             	mov    %ebx,0x10(%ebp)
416676:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
41667c:	0f 83 ff fd ff ff    	jae    0x416481
416682:	33 f6                	xor    %esi,%esi
416684:	3b de                	cmp    %esi,%ebx
416686:	0f 84 f5 fd ff ff    	je     0x416481
41668c:	53                   	push   %ebx
41668d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
416690:	e8 3b ac fe ff       	call   0x4012d0
416695:	3b de                	cmp    %esi,%ebx
416697:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41669a:	89 75 fc             	mov    %esi,-0x4(%ebp)
41669d:	76 2a                	jbe    0x4166c9
41669f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4166a2:	8b 01                	mov    (%ecx),%eax
4166a4:	83 c0 03             	add    $0x3,%eax
4166a7:	3d 00 80 00 00       	cmp    $0x8000,%eax
4166ac:	73 3f                	jae    0x4166ed
4166ae:	e8 9c 30 ff ff       	call   0x40974f
4166b3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4166b6:	c1 e8 08             	shr    $0x8,%eax
4166b9:	6a 08                	push   $0x8
4166bb:	88 04 33             	mov    %al,(%ebx,%esi,1)
4166be:	e8 75 30 ff ff       	call   0x409738
4166c3:	46                   	inc    %esi
4166c4:	3b 75 10             	cmp    0x10(%ebp),%esi
4166c7:	72 d6                	jb     0x41669f
4166c9:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4166cc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4166cf:	8d 46 14             	lea    0x14(%esi),%eax
4166d2:	50                   	push   %eax
4166d3:	ff 75 10             	push   0x10(%ebp)
4166d6:	53                   	push   %ebx
4166d7:	e8 5f 45 ff ff       	call   0x40ac3b
4166dc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4166e0:	85 db                	test   %ebx,%ebx
4166e2:	74 20                	je     0x416704
4166e4:	53                   	push   %ebx
4166e5:	e8 f8 37 00 00       	call   0x419ee2
4166ea:	59                   	pop    %ecx
4166eb:	eb 17                	jmp    0x416704
4166ed:	85 db                	test   %ebx,%ebx
4166ef:	0f 84 8c fd ff ff    	je     0x416481
4166f5:	53                   	push   %ebx
4166f6:	e8 e7 37 00 00       	call   0x419ee2
4166fb:	59                   	pop    %ecx
4166fc:	e9 80 fd ff ff       	jmp    0x416481
416701:	8b 75 e4             	mov    -0x1c(%ebp),%esi
416704:	8b 46 14             	mov    0x14(%esi),%eax
416707:	89 47 24             	mov    %eax,0x24(%edi)
41670a:	8b 46 28             	mov    0x28(%esi),%eax
41670d:	89 47 28             	mov    %eax,0x28(%edi)
416710:	8b 46 40             	mov    0x40(%esi),%eax
416713:	8d 48 ff             	lea    -0x1(%eax),%ecx
416716:	89 45 10             	mov    %eax,0x10(%ebp)
416719:	81 f9 fe 1f 00 00    	cmp    $0x1ffe,%ecx
41671f:	77 1b                	ja     0x41673c
416721:	8d 5f 3c             	lea    0x3c(%edi),%ebx
416724:	50                   	push   %eax
416725:	8b cb                	mov    %ebx,%ecx
416727:	e8 da a9 fe ff       	call   0x401106
41672c:	ff 75 10             	push   0x10(%ebp)
41672f:	ff 76 3c             	push   0x3c(%esi)
416732:	ff 33                	push   (%ebx)
416734:	e8 37 55 00 00       	call   0x41bc70
416739:	83 c4 0c             	add    $0xc,%esp
41673c:	83 7f 30 40          	cmpl   $0x40,0x30(%edi)
416740:	73 13                	jae    0x416755
416742:	8d 77 2c             	lea    0x2c(%edi),%esi
416745:	8b ce                	mov    %esi,%ecx
416747:	e8 2d a3 ff ff       	call   0x410a79
41674c:	6a 40                	push   $0x40
41674e:	8b ce                	mov    %esi,%ecx
416750:	e8 b1 a9 fe ff       	call   0x401106
416755:	8d 5f 2c             	lea    0x2c(%edi),%ebx
416758:	8b 33                	mov    (%ebx),%esi
41675a:	8d 47 4c             	lea    0x4c(%edi),%eax
41675d:	89 75 0c             	mov    %esi,0xc(%ebp)
416760:	89 45 10             	mov    %eax,0x10(%ebp)
416763:	c7 45 e0 07 00 00 00 	movl   $0x7,-0x20(%ebp)
41676a:	8b 45 10             	mov    0x10(%ebp),%eax
41676d:	ff 30                	push   (%eax)
41676f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
416772:	ff 75 0c             	push   0xc(%ebp)
416775:	e8 7e 42 ff ff       	call   0x40a9f8
41677a:	83 45 10 04          	addl   $0x4,0x10(%ebp)
41677e:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
416782:	ff 4d e0             	decl   -0x20(%ebp)
416785:	75 e3                	jne    0x41676a
416787:	ff 77 04             	push   0x4(%edi)
41678a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41678d:	8d 46 1c             	lea    0x1c(%esi),%eax
416790:	50                   	push   %eax
416791:	e8 62 42 ff ff       	call   0x40a9f8
416796:	8b 4d ec             	mov    -0x14(%ebp),%ecx
416799:	6a 00                	push   $0x0
41679b:	8d 46 20             	lea    0x20(%esi),%eax
41679e:	50                   	push   %eax
41679f:	e8 54 42 ff ff       	call   0x40a9f8
4167a4:	ff 77 08             	push   0x8(%edi)
4167a7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4167aa:	8d 46 2c             	lea    0x2c(%esi),%eax
4167ad:	50                   	push   %eax
4167ae:	e8 45 42 ff ff       	call   0x40a9f8
4167b3:	6a 10                	push   $0x10
4167b5:	6a 00                	push   $0x0
4167b7:	83 c6 30             	add    $0x30,%esi
4167ba:	56                   	push   %esi
4167bb:	e8 40 3a 00 00       	call   0x41a200
4167c0:	83 c4 0c             	add    $0xc,%esp
4167c3:	f6 45 08 08          	testb  $0x8,0x8(%ebp)
4167c7:	74 7a                	je     0x416843
4167c9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4167cc:	8b 08                	mov    (%eax),%ecx
4167ce:	83 c1 03             	add    $0x3,%ecx
4167d1:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
4167d7:	0f 83 a4 fc ff ff    	jae    0x416481
4167dd:	50                   	push   %eax
4167de:	e8 22 42 ff ff       	call   0x40aa05
4167e3:	89 45 08             	mov    %eax,0x8(%ebp)
4167e6:	3d c0 1f 00 00       	cmp    $0x1fc0,%eax
4167eb:	0f 87 90 fc ff ff    	ja     0x416481
4167f1:	8b 7f 30             	mov    0x30(%edi),%edi
4167f4:	8d 48 40             	lea    0x40(%eax),%ecx
4167f7:	3b f9                	cmp    %ecx,%edi
4167f9:	73 0d                	jae    0x416808
4167fb:	2b c7                	sub    %edi,%eax
4167fd:	83 c0 40             	add    $0x40,%eax
416800:	50                   	push   %eax
416801:	8b cb                	mov    %ebx,%ecx
416803:	e8 fe a8 fe ff       	call   0x401106
416808:	8b 33                	mov    (%ebx),%esi
41680a:	33 ff                	xor    %edi,%edi
41680c:	83 c6 40             	add    $0x40,%esi
41680f:	39 7d 08             	cmp    %edi,0x8(%ebp)
416812:	76 2f                	jbe    0x416843
416814:	8b 5d f0             	mov    -0x10(%ebp),%ebx
416817:	8b 03                	mov    (%ebx),%eax
416819:	83 c0 03             	add    $0x3,%eax
41681c:	3d 00 80 00 00       	cmp    $0x8000,%eax
416821:	0f 83 5a fc ff ff    	jae    0x416481
416827:	8b cb                	mov    %ebx,%ecx
416829:	e8 21 2f ff ff       	call   0x40974f
41682e:	c1 e8 08             	shr    $0x8,%eax
416831:	6a 08                	push   $0x8
416833:	8b cb                	mov    %ebx,%ecx
416835:	88 04 37             	mov    %al,(%edi,%esi,1)
416838:	e8 fb 2e ff ff       	call   0x409738
41683d:	47                   	inc    %edi
41683e:	3b 7d 08             	cmp    0x8(%ebp),%edi
416841:	72 d1                	jb     0x416814
416843:	b0 01                	mov    $0x1,%al
416845:	e9 39 fc ff ff       	jmp    0x416483
41684a:	55                   	push   %ebp
41684b:	8b ec                	mov    %esp,%ebp
41684d:	83 ec 1c             	sub    $0x1c,%esp
416850:	53                   	push   %ebx
416851:	56                   	push   %esi
416852:	8b f1                	mov    %ecx,%esi
416854:	80 be 48 4c 00 00 00 	cmpb   $0x0,0x4c48(%esi)
41685b:	57                   	push   %edi
41685c:	c6 86 58 4c 00 00 01 	movb   $0x1,0x4c58(%esi)
416863:	75 49                	jne    0x4168ae
416865:	ff 75 08             	push   0x8(%ebp)
416868:	e8 85 eb ff ff       	call   0x4153f2
41686d:	8b ce                	mov    %esi,%ecx
41686f:	e8 9b b7 ff ff       	call   0x41200f
416874:	84 c0                	test   %al,%al
416876:	0f 84 18 06 00 00    	je     0x416e94
41687c:	8d be 80 00 00 00    	lea    0x80(%esi),%edi
416882:	57                   	push   %edi
416883:	8d 5e 04             	lea    0x4(%esi),%ebx
416886:	53                   	push   %ebx
416887:	8b ce                	mov    %esi,%ecx
416889:	e8 a5 d8 ff ff       	call   0x414133
41688e:	84 c0                	test   %al,%al
416890:	0f 84 fe 05 00 00    	je     0x416e94
416896:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
41689c:	50                   	push   %eax
41689d:	57                   	push   %edi
41689e:	53                   	push   %ebx
41689f:	8b ce                	mov    %esi,%ecx
4168a1:	e8 a9 d9 ff ff       	call   0x41424f
4168a6:	84 c0                	test   %al,%al
4168a8:	0f 84 e6 05 00 00    	je     0x416e94
4168ae:	8d 7e 04             	lea    0x4(%esi),%edi
4168b1:	8b 86 f8 e6 00 00    	mov    0xe6f8(%esi),%eax
4168b7:	21 46 70             	and    %eax,0x70(%esi)
4168ba:	8b 07                	mov    (%edi),%eax
4168bc:	3b 46 7c             	cmp    0x7c(%esi),%eax
4168bf:	7c 6b                	jl     0x41692c
4168c1:	8d 9e 80 00 00 00    	lea    0x80(%esi),%ebx
4168c7:	8b 8e 88 00 00 00    	mov    0x88(%esi),%ecx
4168cd:	8b 03                	mov    (%ebx),%eax
4168cf:	8d 44 08 ff          	lea    -0x1(%eax,%ecx,1),%eax
4168d3:	8b 0f                	mov    (%edi),%ecx
4168d5:	3b c8                	cmp    %eax,%ecx
4168d7:	7f 0d                	jg     0x4168e6
4168d9:	75 42                	jne    0x41691d
4168db:	8b 46 08             	mov    0x8(%esi),%eax
4168de:	3b 86 84 00 00 00    	cmp    0x84(%esi),%eax
4168e4:	7c 37                	jl     0x41691d
4168e6:	80 be 90 00 00 00 00 	cmpb   $0x0,0x90(%esi)
4168ed:	0f 85 9a 05 00 00    	jne    0x416e8d
4168f3:	53                   	push   %ebx
4168f4:	57                   	push   %edi
4168f5:	8b ce                	mov    %esi,%ecx
4168f7:	e8 37 d8 ff ff       	call   0x414133
4168fc:	84 c0                	test   %al,%al
4168fe:	0f 84 90 05 00 00    	je     0x416e94
416904:	8d 86 94 00 00 00    	lea    0x94(%esi),%eax
41690a:	50                   	push   %eax
41690b:	53                   	push   %ebx
41690c:	57                   	push   %edi
41690d:	8b ce                	mov    %esi,%ecx
41690f:	e8 3b d9 ff ff       	call   0x41424f
416914:	84 c0                	test   %al,%al
416916:	75 af                	jne    0x4168c7
416918:	e9 77 05 00 00       	jmp    0x416e94
41691d:	8b ce                	mov    %esi,%ecx
41691f:	e8 eb b6 ff ff       	call   0x41200f
416924:	84 c0                	test   %al,%al
416926:	0f 84 61 05 00 00    	je     0x416e8d
41692c:	8b 86 30 4b 00 00    	mov    0x4b30(%esi),%eax
416932:	8b 4e 70             	mov    0x70(%esi),%ecx
416935:	8b d0                	mov    %eax,%edx
416937:	2b d1                	sub    %ecx,%edx
416939:	23 96 f8 e6 00 00    	and    0xe6f8(%esi),%edx
41693f:	81 fa 04 10 00 00    	cmp    $0x1004,%edx
416945:	73 3e                	jae    0x416985
416947:	3b c1                	cmp    %ecx,%eax
416949:	74 3a                	je     0x416985
41694b:	8b ce                	mov    %esi,%ecx
41694d:	e8 1b e6 ff ff       	call   0x414f6d
416952:	8b 86 54 4c 00 00    	mov    0x4c54(%esi),%eax
416958:	3b 86 44 4c 00 00    	cmp    0x4c44(%esi),%eax
41695e:	0f 8f 30 05 00 00    	jg     0x416e94
416964:	7c 12                	jl     0x416978
416966:	8b 86 50 4c 00 00    	mov    0x4c50(%esi),%eax
41696c:	3b 86 40 4c 00 00    	cmp    0x4c40(%esi),%eax
416972:	0f 87 1c 05 00 00    	ja     0x416e94
416978:	80 be 48 4c 00 00 00 	cmpb   $0x0,0x4c48(%esi)
41697f:	0f 85 04 09 00 00    	jne    0x417289
416985:	8b cf                	mov    %edi,%ecx
416987:	e8 7e 2d ff ff       	call   0x40970a
41698c:	8b 9e 18 01 00 00    	mov    0x118(%esi),%ebx
416992:	25 fe ff 00 00       	and    $0xfffe,%eax
416997:	3b 84 9e 98 00 00 00 	cmp    0x98(%esi,%ebx,4),%eax
41699e:	73 29                	jae    0x4169c9
4169a0:	6a 10                	push   $0x10
4169a2:	59                   	pop    %ecx
4169a3:	2b cb                	sub    %ebx,%ecx
4169a5:	d3 e8                	shr    %cl,%eax
4169a7:	0f b6 8c 30 1c 01 00 	movzbl 0x11c(%eax,%esi,1),%ecx
4169ae:	00
4169af:	03 4f 04             	add    0x4(%edi),%ecx
4169b2:	8b d1                	mov    %ecx,%edx
4169b4:	c1 ea 03             	shr    $0x3,%edx
4169b7:	01 17                	add    %edx,(%edi)
4169b9:	83 e1 07             	and    $0x7,%ecx
4169bc:	89 4f 04             	mov    %ecx,0x4(%edi)
4169bf:	0f b7 9c 46 1c 05 00 	movzwl 0x51c(%esi,%eax,2),%ebx
4169c6:	00
4169c7:	eb 5b                	jmp    0x416a24
4169c9:	6a 0f                	push   $0xf
4169cb:	5a                   	pop    %edx
4169cc:	8d 4b 01             	lea    0x1(%ebx),%ecx
4169cf:	3b ca                	cmp    %edx,%ecx
4169d1:	73 18                	jae    0x4169eb
4169d3:	8d 9c 8e 98 00 00 00 	lea    0x98(%esi,%ecx,4),%ebx
4169da:	3b 03                	cmp    (%ebx),%eax
4169dc:	72 0b                	jb     0x4169e9
4169de:	41                   	inc    %ecx
4169df:	83 c3 04             	add    $0x4,%ebx
4169e2:	83 f9 0f             	cmp    $0xf,%ecx
4169e5:	72 f3                	jb     0x4169da
4169e7:	eb 02                	jmp    0x4169eb
4169e9:	8b d1                	mov    %ecx,%edx