418661:	33 c0                	xor    %eax,%eax
418663:	f2 ae                	repnz scas %es:(%edi),%al
418665:	f7 d1                	not    %ecx
418667:	2b f9                	sub    %ecx,%edi
418669:	8b c1                	mov    %ecx,%eax
41866b:	8b f7                	mov    %edi,%esi
41866d:	8b fa                	mov    %edx,%edi
41866f:	c1 e9 02             	shr    $0x2,%ecx
418672:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
418674:	8b c8                	mov    %eax,%ecx
418676:	83 e1 03             	and    $0x3,%ecx
418679:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41867b:	5f                   	pop    %edi
41867c:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%ebx)
418683:	8b c3                	mov    %ebx,%eax
418685:	5e                   	pop    %esi
418686:	5b                   	pop    %ebx
418687:	c2 04 00             	ret    $0x4
41868a:	90                   	nop
41868b:	90                   	nop
41868c:	90                   	nop
41868d:	90                   	nop
41868e:	90                   	nop
41868f:	90                   	nop
418690:	53                   	push   %ebx
418691:	56                   	push   %esi
418692:	8b 74 24 0c          	mov    0xc(%esp),%esi
418696:	8b d9                	mov    %ecx,%ebx
418698:	57                   	push   %edi
418699:	c7 03 34 cd 42 00    	movl   $0x42cd34,(%ebx)
41869f:	8b 46 08             	mov    0x8(%esi),%eax
4186a2:	85 c0                	test   %eax,%eax
4186a4:	89 43 08             	mov    %eax,0x8(%ebx)
4186a7:	74 46                	je     0x4186ef
4186a9:	8b 7e 04             	mov    0x4(%esi),%edi
4186ac:	83 c9 ff             	or     $0xffffffff,%ecx
4186af:	33 c0                	xor    %eax,%eax
4186b1:	f2 ae                	repnz scas %es:(%edi),%al
4186b3:	f7 d1                	not    %ecx
4186b5:	51                   	push   %ecx
4186b6:	e8 46 46 00 00       	call   0x41cd01
4186bb:	8b d0                	mov    %eax,%edx
4186bd:	83 c4 04             	add    $0x4,%esp
4186c0:	85 d2                	test   %edx,%edx
4186c2:	89 53 04             	mov    %edx,0x4(%ebx)
4186c5:	74 2e                	je     0x4186f5
4186c7:	8b 7e 04             	mov    0x4(%esi),%edi
4186ca:	83 c9 ff             	or     $0xffffffff,%ecx
4186cd:	33 c0                	xor    %eax,%eax
4186cf:	f2 ae                	repnz scas %es:(%edi),%al
4186d1:	f7 d1                	not    %ecx
4186d3:	2b f9                	sub    %ecx,%edi
4186d5:	8b c1                	mov    %ecx,%eax
4186d7:	8b f7                	mov    %edi,%esi
4186d9:	8b fa                	mov    %edx,%edi
4186db:	c1 e9 02             	shr    $0x2,%ecx
4186de:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4186e0:	8b c8                	mov    %eax,%ecx
4186e2:	8b c3                	mov    %ebx,%eax
4186e4:	83 e1 03             	and    $0x3,%ecx
4186e7:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4186e9:	5f                   	pop    %edi
4186ea:	5e                   	pop    %esi
4186eb:	5b                   	pop    %ebx
4186ec:	c2 04 00             	ret    $0x4
4186ef:	8b 4e 04             	mov    0x4(%esi),%ecx
4186f2:	89 4b 04             	mov    %ecx,0x4(%ebx)
4186f5:	5f                   	pop    %edi
4186f6:	8b c3                	mov    %ebx,%eax
4186f8:	5e                   	pop    %esi
4186f9:	5b                   	pop    %ebx
4186fa:	c2 04 00             	ret    $0x4
4186fd:	90                   	nop
4186fe:	90                   	nop
4186ff:	90                   	nop
418700:	8b 41 08             	mov    0x8(%ecx),%eax
418703:	c7 01 34 cd 42 00    	movl   $0x42cd34,(%ecx)
418709:	85 c0                	test   %eax,%eax
41870b:	74 0c                	je     0x418719
41870d:	8b 41 04             	mov    0x4(%ecx),%eax
418710:	50                   	push   %eax
418711:	e8 27 46 00 00       	call   0x41cd3d
418716:	83 c4 04             	add    $0x4,%esp
418719:	c3                   	ret
41871a:	90                   	nop
41871b:	90                   	nop
41871c:	90                   	nop
41871d:	90                   	nop
41871e:	90                   	nop
41871f:	90                   	nop
418720:	8b 41 04             	mov    0x4(%ecx),%eax
418723:	85 c0                	test   %eax,%eax
418725:	75 05                	jne    0x41872c
418727:	b8 3c cd 42 00       	mov    $0x42cd3c,%eax
41872c:	c3                   	ret
41872d:	90                   	nop
41872e:	90                   	nop
41872f:	90                   	nop
418730:	56                   	push   %esi
418731:	8b 74 24 08          	mov    0x8(%esp),%esi
418735:	57                   	push   %edi
418736:	8b 46 0c             	mov    0xc(%esi),%eax
418739:	a8 83                	test   $0x83,%al
41873b:	0f 84 d8 00 00 00    	je     0x418819
418741:	a8 40                	test   $0x40,%al
418743:	0f 85 d0 00 00 00    	jne    0x418819
418749:	a8 02                	test   $0x2,%al
41874b:	74 0b                	je     0x418758
41874d:	0c 20                	or     $0x20,%al
41874f:	89 46 0c             	mov    %eax,0xc(%esi)
418752:	83 c8 ff             	or     $0xffffffff,%eax
418755:	5f                   	pop    %edi
418756:	5e                   	pop    %esi
418757:	c3                   	ret
418758:	0c 01                	or     $0x1,%al
41875a:	a9 0c 01 00 00       	test   $0x10c,%eax
41875f:	89 46 0c             	mov    %eax,0xc(%esi)
418762:	75 0b                	jne    0x41876f
418764:	56                   	push   %esi
418765:	e8 a6 99 ff ff       	call   0x412110
41876a:	83 c4 04             	add    $0x4,%esp
41876d:	eb 05                	jmp    0x418774
41876f:	8b 46 08             	mov    0x8(%esi),%eax
418772:	89 06                	mov    %eax,(%esi)
418774:	8b 4e 18             	mov    0x18(%esi),%ecx
418777:	8b 56 08             	mov    0x8(%esi),%edx
41877a:	8b 46 10             	mov    0x10(%esi),%eax
41877d:	51                   	push   %ecx
41877e:	52                   	push   %edx
41877f:	50                   	push   %eax
418780:	e8 2b 09 00 00       	call   0x4190b0
418785:	83 c4 0c             	add    $0xc,%esp
418788:	89 46 04             	mov    %eax,0x4(%esi)
41878b:	85 c0                	test   %eax,%eax
41878d:	74 71                	je     0x418800
41878f:	83 f8 ff             	cmp    $0xffffffff,%eax
418792:	74 6c                	je     0x418800
418794:	8b 56 0c             	mov    0xc(%esi),%edx
418797:	f6 c2 82             	test   $0x82,%dl
41879a:	75 35                	jne    0x4187d1
41879c:	8b 4e 10             	mov    0x10(%esi),%ecx
41879f:	83 f9 ff             	cmp    $0xffffffff,%ecx
4187a2:	74 17                	je     0x4187bb
4187a4:	8b f9                	mov    %ecx,%edi
4187a6:	c1 ff 05             	sar    $0x5,%edi
4187a9:	83 e1 1f             	and    $0x1f,%ecx
4187ac:	8b 3c bd a0 89 43 00 	mov    0x4389a0(,%edi,4),%edi
4187b3:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
4187b6:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
4187b9:	eb 05                	jmp    0x4187c0
4187bb:	b9 e8 1d 43 00       	mov    $0x431de8,%ecx
4187c0:	8a 49 04             	mov    0x4(%ecx),%cl
4187c3:	80 e1 82             	and    $0x82,%cl
4187c6:	80 f9 82             	cmp    $0x82,%cl
4187c9:	75 06                	jne    0x4187d1
4187cb:	80 ce 20             	or     $0x20,%dh
4187ce:	89 56 0c             	mov    %edx,0xc(%esi)
4187d1:	81 7e 18 00 02 00 00 	cmpl   $0x200,0x18(%esi)
4187d8:	75 14                	jne    0x4187ee
4187da:	8b 4e 0c             	mov    0xc(%esi),%ecx
4187dd:	f6 c1 08             	test   $0x8,%cl
4187e0:	74 0c                	je     0x4187ee
4187e2:	f6 c5 04             	test   $0x4,%ch
4187e5:	75 07                	jne    0x4187ee
4187e7:	c7 46 18 00 10 00 00 	movl   $0x1000,0x18(%esi)
4187ee:	48                   	dec    %eax
4187ef:	33 d2                	xor    %edx,%edx
4187f1:	89 46 04             	mov    %eax,0x4(%esi)
4187f4:	8b 06                	mov    (%esi),%eax
4187f6:	8a 10                	mov    (%eax),%dl
4187f8:	40                   	inc    %eax
4187f9:	89 06                	mov    %eax,(%esi)
4187fb:	8b c2                	mov    %edx,%eax
4187fd:	5f                   	pop    %edi
4187fe:	5e                   	pop    %esi
4187ff:	c3                   	ret
418800:	8b 4e 0c             	mov    0xc(%esi),%ecx
418803:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
41880a:	f7 d8                	neg    %eax
41880c:	1b c0                	sbb    %eax,%eax
41880e:	83 e0 10             	and    $0x10,%eax
418811:	83 c0 10             	add    $0x10,%eax
418814:	0b c8                	or     %eax,%ecx
418816:	89 4e 0c             	mov    %ecx,0xc(%esi)
418819:	5f                   	pop    %edi
41881a:	83 c8 ff             	or     $0xffffffff,%eax
41881d:	5e                   	pop    %esi
41881e:	c3                   	ret
41881f:	90                   	nop
418820:	53                   	push   %ebx
418821:	56                   	push   %esi
418822:	8b 74 24 0c          	mov    0xc(%esp),%esi
418826:	57                   	push   %edi
418827:	56                   	push   %esi
418828:	e8 b3 6c ff ff       	call   0x40f4e0
41882d:	83 c4 04             	add    $0x4,%esp
418830:	56                   	push   %esi
418831:	e8 1a 00 00 00       	call   0x418850
418836:	83 c4 04             	add    $0x4,%esp
418839:	8b f8                	mov    %eax,%edi
41883b:	8b da                	mov    %edx,%ebx
41883d:	56                   	push   %esi
41883e:	e8 0d 6d ff ff       	call   0x40f550
418843:	83 c4 04             	add    $0x4,%esp
418846:	8b c7                	mov    %edi,%eax
418848:	8b d3                	mov    %ebx,%edx
41884a:	5f                   	pop    %edi
41884b:	5e                   	pop    %esi
41884c:	5b                   	pop    %ebx
41884d:	c3                   	ret
41884e:	90                   	nop
41884f:	90                   	nop
418850:	83 ec 0c             	sub    $0xc,%esp
418853:	53                   	push   %ebx
418854:	55                   	push   %ebp
418855:	8b 6c 24 18          	mov    0x18(%esp),%ebp
418859:	56                   	push   %esi
41885a:	57                   	push   %edi
41885b:	8b 45 04             	mov    0x4(%ebp),%eax
41885e:	8b 5d 10             	mov    0x10(%ebp),%ebx
418861:	85 c0                	test   %eax,%eax
418863:	7d 07                	jge    0x41886c
418865:	c7 45 04 00 00 00 00 	movl   $0x0,0x4(%ebp)
41886c:	6a 01                	push   $0x1
41886e:	6a 00                	push   $0x0
418870:	6a 00                	push   $0x0
418872:	53                   	push   %ebx
418873:	e8 e8 0a 00 00       	call   0x419360
418878:	8b ca                	mov    %edx,%ecx
41887a:	83 c4 10             	add    $0x10,%esp
41887d:	8b f0                	mov    %eax,%esi
41887f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
418883:	85 c9                	test   %ecx,%ecx
418885:	89 74 24 14          	mov    %esi,0x14(%esp)
418889:	7f 18                	jg     0x4188a3
41888b:	0f 8c 9c 01 00 00    	jl     0x418a2d
418891:	85 f6                	test   %esi,%esi
418893:	73 0e                	jae    0x4188a3
418895:	83 c8 ff             	or     $0xffffffff,%eax
418898:	83 ca ff             	or     $0xffffffff,%edx
41889b:	5f                   	pop    %edi
41889c:	5e                   	pop    %esi
41889d:	5d                   	pop    %ebp
41889e:	5b                   	pop    %ebx
41889f:	83 c4 0c             	add    $0xc,%esp
4188a2:	c3                   	ret
4188a3:	8b 45 0c             	mov    0xc(%ebp),%eax
4188a6:	a9 08 01 00 00       	test   $0x108,%eax
4188ab:	75 14                	jne    0x4188c1
4188ad:	8b 45 04             	mov    0x4(%ebp),%eax
4188b0:	99                   	cltd
4188b1:	2b f0                	sub    %eax,%esi
4188b3:	1b ca                	sbb    %edx,%ecx
4188b5:	8b c6                	mov    %esi,%eax
4188b7:	8b d1                	mov    %ecx,%edx
4188b9:	5f                   	pop    %edi
4188ba:	5e                   	pop    %esi
4188bb:	5d                   	pop    %ebp
4188bc:	5b                   	pop    %ebx
4188bd:	83 c4 0c             	add    $0xc,%esp
4188c0:	c3                   	ret
4188c1:	8b 4d 00             	mov    0x0(%ebp),%ecx
4188c4:	8b 7d 08             	mov    0x8(%ebp),%edi
4188c7:	8b f1                	mov    %ecx,%esi
4188c9:	2b f7                	sub    %edi,%esi
4188cb:	a8 03                	test   $0x3,%al
4188cd:	89 74 24 10          	mov    %esi,0x10(%esp)
4188d1:	0f 84 43 01 00 00    	je     0x418a1a
4188d7:	8b d3                	mov    %ebx,%edx
4188d9:	8b c3                	mov    %ebx,%eax
4188db:	c1 fa 05             	sar    $0x5,%edx
4188de:	83 e0 1f             	and    $0x1f,%eax
4188e1:	8b 14 95 a0 89 43 00 	mov    0x4389a0(,%edx,4),%edx
4188e8:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4188eb:	f6 44 82 04 80       	testb  $0x80,0x4(%edx,%eax,4)
4188f0:	74 15                	je     0x418907
4188f2:	8b c7                	mov    %edi,%eax
4188f4:	3b c1                	cmp    %ecx,%eax
4188f6:	73 0f                	jae    0x418907
4188f8:	80 38 0a             	cmpb   $0xa,(%eax)
4188fb:	75 01                	jne    0x4188fe
4188fd:	46                   	inc    %esi
4188fe:	40                   	inc    %eax
4188ff:	3b c1                	cmp    %ecx,%eax
418901:	72 f5                	jb     0x4188f8
418903:	89 74 24 10          	mov    %esi,0x10(%esp)
418907:	8b 44 24 14          	mov    0x14(%esp),%eax
41890b:	8b 54 24 18          	mov    0x18(%esp),%edx
41890f:	0b c2                	or     %edx,%eax
418911:	75 0c                	jne    0x41891f
418913:	8b c6                	mov    %esi,%eax
418915:	33 d2                	xor    %edx,%edx
418917:	5f                   	pop    %edi
418918:	5e                   	pop    %esi
418919:	5d                   	pop    %ebp
41891a:	5b                   	pop    %ebx
41891b:	83 c4 0c             	add    $0xc,%esp
41891e:	c3                   	ret
41891f:	f6 45 0c 01          	testb  $0x1,0xc(%ebp)
418923:	0f 84 d9 00 00 00    	je     0x418a02
418929:	8b 45 04             	mov    0x4(%ebp),%eax
41892c:	85 c0                	test   %eax,%eax
41892e:	75 09                	jne    0x418939
418930:	89 44 24 10          	mov    %eax,0x10(%esp)
418934:	e9 c5 00 00 00       	jmp    0x4189fe
418939:	8d 34 01             	lea    (%ecx,%eax,1),%esi
41893c:	8b cb                	mov    %ebx,%ecx
41893e:	8b c3                	mov    %ebx,%eax
418940:	2b f7                	sub    %edi,%esi
418942:	c1 f9 05             	sar    $0x5,%ecx
418945:	83 e0 1f             	and    $0x1f,%eax
418948:	8b 14 8d a0 89 43 00 	mov    0x4389a0(,%ecx,4),%edx
41894f:	8d 2c 8d a0 89 43 00 	lea    0x4389a0(,%ecx,4),%ebp
418956:	8d 3c c0             	lea    (%eax,%eax,8),%edi
418959:	c1 e7 02             	shl    $0x2,%edi
41895c:	f6 44 17 04 80       	testb  $0x80,0x4(%edi,%edx,1)
418961:	0f 84 82 00 00 00    	je     0x4189e9
418967:	6a 02                	push   $0x2
418969:	6a 00                	push   $0x0
41896b:	6a 00                	push   $0x0
41896d:	53                   	push   %ebx
41896e:	e8 ed 09 00 00       	call   0x419360
418973:	8b 4c 24 24          	mov    0x24(%esp),%ecx
418977:	83 c4 10             	add    $0x10,%esp
41897a:	3b c1                	cmp    %ecx,%eax
41897c:	75 29                	jne    0x4189a7
41897e:	3b 54 24 18          	cmp    0x18(%esp),%edx
418982:	75 23                	jne    0x4189a7
418984:	8b 54 24 20          	mov    0x20(%esp),%edx
418988:	8b 42 08             	mov    0x8(%edx),%eax
41898b:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
41898e:	3b c1                	cmp    %ecx,%eax
418990:	73 0b                	jae    0x41899d
418992:	80 38 0a             	cmpb   $0xa,(%eax)
418995:	75 01                	jne    0x418998
418997:	46                   	inc    %esi
418998:	40                   	inc    %eax
418999:	3b c1                	cmp    %ecx,%eax
41899b:	72 f5                	jb     0x418992
41899d:	8b 42 0c             	mov    0xc(%edx),%eax
4189a0:	f6 c4 20             	test   $0x20,%ah
4189a3:	74 44                	je     0x4189e9
4189a5:	eb 41                	jmp    0x4189e8
4189a7:	8b 44 24 18          	mov    0x18(%esp),%eax
4189ab:	6a 00                	push   $0x0
4189ad:	50                   	push   %eax
4189ae:	51                   	push   %ecx
4189af:	53                   	push   %ebx
4189b0:	e8 ab 09 00 00       	call   0x419360
4189b5:	83 c4 10             	add    $0x10,%esp