4175fe:	83 c9 ff             	or     $0xffffffff,%ecx
417601:	33 c0                	xor    %eax,%eax
417603:	89 75 04             	mov    %esi,0x4(%ebp)
417606:	89 75 08             	mov    %esi,0x8(%ebp)
417609:	89 75 0c             	mov    %esi,0xc(%ebp)
41760c:	89 74 24 1c          	mov    %esi,0x1c(%esp)
417610:	f2 ae                	repnz scas %es:(%edi),%al
417612:	f7 d1                	not    %ecx
417614:	49                   	dec    %ecx
417615:	8b f9                	mov    %ecx,%edi
417617:	83 ff fd             	cmp    $0xfffffffd,%edi
41761a:	89 7c 24 24          	mov    %edi,0x24(%esp)
41761e:	76 05                	jbe    0x417625
417620:	e8 3b eb ff ff       	call   0x416160
417625:	8b 4d 04             	mov    0x4(%ebp),%ecx
417628:	3b ce                	cmp    %esi,%ecx
41762a:	74 1e                	je     0x41764a
41762c:	8a 41 ff             	mov    -0x1(%ecx),%al
41762f:	84 c0                	test   %al,%al
417631:	74 17                	je     0x41764a
417633:	3c ff                	cmp    $0xff,%al
417635:	74 13                	je     0x41764a
417637:	3b fe                	cmp    %esi,%edi
417639:	75 33                	jne    0x41766e
41763b:	fe c8                	dec    %al
41763d:	56                   	push   %esi
41763e:	88 41 ff             	mov    %al,-0x1(%ecx)
417641:	8b cd                	mov    %ebp,%ecx
417643:	e8 bd 34 ff ff       	call   0x40ab05
417648:	eb 52                	jmp    0x41769c
41764a:	3b fe                	cmp    %esi,%edi
41764c:	75 0b                	jne    0x417659
41764e:	6a 01                	push   $0x1
417650:	8b cd                	mov    %ebp,%ecx
417652:	e8 ae 34 ff ff       	call   0x40ab05
417657:	eb 43                	jmp    0x41769c
417659:	8b 45 0c             	mov    0xc(%ebp),%eax
41765c:	83 f8 1f             	cmp    $0x1f,%eax
41765f:	77 04                	ja     0x417665
417661:	3b c7                	cmp    %edi,%eax
417663:	73 11                	jae    0x417676
417665:	6a 01                	push   $0x1
417667:	8b cd                	mov    %ebp,%ecx
417669:	e8 97 34 ff ff       	call   0x40ab05
41766e:	57                   	push   %edi
41766f:	8b cd                	mov    %ebp,%ecx
417671:	e8 db 33 ff ff       	call   0x40aa51
417676:	8b cf                	mov    %edi,%ecx
417678:	8b 7d 04             	mov    0x4(%ebp),%edi
41767b:	8b d1                	mov    %ecx,%edx
41767d:	be 54 cc 42 00       	mov    $0x42cc54,%esi
417682:	c1 e9 02             	shr    $0x2,%ecx
417685:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
417687:	8b 44 24 24          	mov    0x24(%esp),%eax
41768b:	8b ca                	mov    %edx,%ecx
41768d:	83 e1 03             	and    $0x3,%ecx
417690:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
417692:	8b 4d 04             	mov    0x4(%ebp),%ecx
417695:	89 45 08             	mov    %eax,0x8(%ebp)
417698:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
41769c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4176a0:	5f                   	pop    %edi
4176a1:	5e                   	pop    %esi
4176a2:	c7 03 64 cc 42 00    	movl   $0x42cc64,(%ebx)
4176a8:	8b c3                	mov    %ebx,%eax
4176aa:	5d                   	pop    %ebp
4176ab:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4176b2:	5b                   	pop    %ebx
4176b3:	83 c4 10             	add    $0x10,%esp
4176b6:	c2 04 00             	ret    $0x4
4176b9:	90                   	nop
4176ba:	90                   	nop
4176bb:	90                   	nop
4176bc:	90                   	nop
4176bd:	90                   	nop
4176be:	90                   	nop
4176bf:	90                   	nop
4176c0:	c7 01 6c cc 42 00    	movl   $0x42cc6c,(%ecx)
4176c6:	c3                   	ret
4176c7:	90                   	nop
4176c8:	90                   	nop
4176c9:	90                   	nop
4176ca:	90                   	nop
4176cb:	90                   	nop
4176cc:	90                   	nop
4176cd:	90                   	nop
4176ce:	90                   	nop
4176cf:	90                   	nop
4176d0:	8a 44 24 04          	mov    0x4(%esp),%al
4176d4:	56                   	push   %esi
4176d5:	8b f1                	mov    %ecx,%esi
4176d7:	a8 01                	test   $0x1,%al
4176d9:	c7 06 6c cc 42 00    	movl   $0x42cc6c,(%esi)
4176df:	74 09                	je     0x4176ea
4176e1:	56                   	push   %esi
4176e2:	e8 56 56 00 00       	call   0x41cd3d
4176e7:	83 c4 04             	add    $0x4,%esp
4176ea:	8b c6                	mov    %esi,%eax
4176ec:	5e                   	pop    %esi
4176ed:	c2 04 00             	ret    $0x4
4176f0:	56                   	push   %esi
4176f1:	8b f1                	mov    %ecx,%esi
4176f3:	e8 18 00 00 00       	call   0x417710
4176f8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4176fd:	74 09                	je     0x417708
4176ff:	56                   	push   %esi
417700:	e8 38 56 00 00       	call   0x41cd3d
417705:	83 c4 04             	add    $0x4,%esp
417708:	8b c6                	mov    %esi,%eax
41770a:	5e                   	pop    %esi
41770b:	c2 04 00             	ret    $0x4
41770e:	90                   	nop
41770f:	90                   	nop
417710:	6a ff                	push   $0xffffffff
417712:	68 7b 81 42 00       	push   $0x42817b
417717:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41771d:	50                   	push   %eax
41771e:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
417725:	83 ec 0c             	sub    $0xc,%esp
417728:	53                   	push   %ebx
417729:	8b d9                	mov    %ecx,%ebx
41772b:	55                   	push   %ebp
41772c:	56                   	push   %esi
41772d:	57                   	push   %edi
41772e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
417732:	c7 03 64 cc 42 00    	movl   $0x42cc64,(%ebx)
417738:	8d 4c 24 14          	lea    0x14(%esp),%ecx
41773c:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
417743:	00
417744:	e8 67 fb ff ff       	call   0x4172b0
417749:	8b 6b 0c             	mov    0xc(%ebx),%ebp
41774c:	c6 44 24 24 02       	movb   $0x2,0x24(%esp)
417751:	85 ed                	test   %ebp,%ebp
417753:	76 48                	jbe    0x41779d
417755:	8b 43 08             	mov    0x8(%ebx),%eax
417758:	4d                   	dec    %ebp
417759:	8b 3c a8             	mov    (%eax,%ebp,4),%edi
41775c:	85 ff                	test   %edi,%edi
41775e:	74 39                	je     0x417799
417760:	8d 4c 24 10          	lea    0x10(%esp),%ecx
417764:	e8 47 fb ff ff       	call   0x4172b0
417769:	8b 47 04             	mov    0x4(%edi),%eax
41776c:	85 c0                	test   %eax,%eax
41776e:	76 09                	jbe    0x417779
417770:	83 f8 ff             	cmp    $0xffffffff,%eax
417773:	73 04                	jae    0x417779
417775:	48                   	dec    %eax
417776:	89 47 04             	mov    %eax,0x4(%edi)
417779:	8b 77 04             	mov    0x4(%edi),%esi
41777c:	8d 4c 24 10          	lea    0x10(%esp),%ecx
417780:	f7 de                	neg    %esi
417782:	1b f6                	sbb    %esi,%esi
417784:	f7 d6                	not    %esi
417786:	23 f7                	and    %edi,%esi
417788:	e8 e3 fb ff ff       	call   0x417370
41778d:	85 f6                	test   %esi,%esi
41778f:	74 08                	je     0x417799
417791:	8b 16                	mov    (%esi),%edx
417793:	6a 01                	push   $0x1
417795:	8b ce                	mov    %esi,%ecx
417797:	ff 12                	call   *(%edx)
417799:	85 ed                	test   %ebp,%ebp
41779b:	77 b8                	ja     0x417755
41779d:	8b 43 08             	mov    0x8(%ebx),%eax
4177a0:	50                   	push   %eax
4177a1:	e8 ea 4d ff ff       	call   0x40c590
4177a6:	83 c4 04             	add    $0x4,%esp
4177a9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4177ad:	c6 44 24 24 01       	movb   $0x1,0x24(%esp)
4177b2:	e8 b9 fb ff ff       	call   0x417370
4177b7:	8b 43 1c             	mov    0x1c(%ebx),%eax
4177ba:	85 c0                	test   %eax,%eax
4177bc:	74 1d                	je     0x4177db
4177be:	8d 48 ff             	lea    -0x1(%eax),%ecx
4177c1:	8a 40 ff             	mov    -0x1(%eax),%al
4177c4:	84 c0                	test   %al,%al
4177c6:	74 0a                	je     0x4177d2
4177c8:	3c ff                	cmp    $0xff,%al
4177ca:	74 06                	je     0x4177d2
4177cc:	fe c8                	dec    %al
4177ce:	88 01                	mov    %al,(%ecx)
4177d0:	eb 09                	jmp    0x4177db
4177d2:	51                   	push   %ecx
4177d3:	e8 65 55 00 00       	call   0x41cd3d
4177d8:	83 c4 04             	add    $0x4,%esp
4177db:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4177df:	5f                   	pop    %edi
4177e0:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
4177e7:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
4177ee:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
4177f5:	5e                   	pop    %esi
4177f6:	c7 03 6c cc 42 00    	movl   $0x42cc6c,(%ebx)
4177fc:	5d                   	pop    %ebp
4177fd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417804:	5b                   	pop    %ebx
417805:	83 c4 18             	add    $0x18,%esp
417808:	c3                   	ret
417809:	90                   	nop
41780a:	90                   	nop
41780b:	90                   	nop
41780c:	90                   	nop
41780d:	90                   	nop
41780e:	90                   	nop
41780f:	90                   	nop
417810:	a0 5d 79 43 00       	mov    0x43795d,%al
417815:	53                   	push   %ebx
417816:	b3 01                	mov    $0x1,%bl
417818:	84 c3                	test   %al,%bl
41781a:	75 07                	jne    0x417823
41781c:	0a c3                	or     %bl,%al
41781e:	a2 5d 79 43 00       	mov    %al,0x43795d
417823:	e8 88 f3 ff ff       	call   0x416bb0
417828:	a0 5e 79 43 00       	mov    0x43795e,%al
41782d:	84 c3                	test   %al,%bl
41782f:	75 07                	jne    0x417838
417831:	0a c3                	or     %bl,%al
417833:	a2 5e 79 43 00       	mov    %al,0x43795e
417838:	e8 73 f3 ff ff       	call   0x416bb0
41783d:	a0 5f 79 43 00       	mov    0x43795f,%al
417842:	84 c3                	test   %al,%bl
417844:	75 07                	jne    0x41784d
417846:	0a c3                	or     %bl,%al
417848:	a2 5f 79 43 00       	mov    %al,0x43795f
41784d:	e8 5e f3 ff ff       	call   0x416bb0
417852:	a0 60 79 43 00       	mov    0x437960,%al
417857:	84 c3                	test   %al,%bl
417859:	75 07                	jne    0x417862
41785b:	0a c3                	or     %bl,%al
41785d:	a2 60 79 43 00       	mov    %al,0x437960
417862:	e8 49 f3 ff ff       	call   0x416bb0
417867:	a0 61 79 43 00       	mov    0x437961,%al
41786c:	84 c3                	test   %al,%bl
41786e:	75 07                	jne    0x417877
417870:	0a c3                	or     %bl,%al
417872:	a2 61 79 43 00       	mov    %al,0x437961
417877:	e8 34 f3 ff ff       	call   0x416bb0
41787c:	a0 62 79 43 00       	mov    0x437962,%al
417881:	84 c3                	test   %al,%bl
417883:	75 07                	jne    0x41788c
417885:	0a c3                	or     %bl,%al
417887:	a2 62 79 43 00       	mov    %al,0x437962
41788c:	e8 1f f3 ff ff       	call   0x416bb0
417891:	a0 63 79 43 00       	mov    0x437963,%al
417896:	84 c3                	test   %al,%bl
417898:	75 07                	jne    0x4178a1
41789a:	0a c3                	or     %bl,%al
41789c:	a2 63 79 43 00       	mov    %al,0x437963
4178a1:	e8 0a f3 ff ff       	call   0x416bb0
4178a6:	a0 bc 8a 43 00       	mov    0x438abc,%al
4178ab:	84 c3                	test   %al,%bl
4178ad:	75 07                	jne    0x4178b6
4178af:	0a c3                	or     %bl,%al
4178b1:	a2 bc 8a 43 00       	mov    %al,0x438abc
4178b6:	e8 15 d1 ff ff       	call   0x4149d0
4178bb:	5b                   	pop    %ebx
4178bc:	c3                   	ret
4178bd:	90                   	nop
4178be:	90                   	nop
4178bf:	90                   	nop
4178c0:	53                   	push   %ebx
4178c1:	56                   	push   %esi
4178c2:	57                   	push   %edi
4178c3:	68 88 89 43 00       	push   $0x438988
4178c8:	ff 15 fc 96 43 00    	call   *0x4396fc
4178ce:	a1 84 89 43 00       	mov    0x438984,%eax
4178d3:	8b 3d 18 97 43 00    	mov    0x439718,%edi
4178d9:	85 c0                	test   %eax,%eax
4178db:	74 18                	je     0x4178f5
4178dd:	68 88 89 43 00       	push   $0x438988
4178e2:	ff d7                	call   *%edi
4178e4:	6a 13                	push   $0x13
4178e6:	e8 55 7b ff ff       	call   0x40f440
4178eb:	83 c4 04             	add    $0x4,%esp
4178ee:	be 01 00 00 00       	mov    $0x1,%esi
4178f3:	eb 02                	jmp    0x4178f7
4178f5:	33 f6                	xor    %esi,%esi
4178f7:	8b 44 24 20          	mov    0x20(%esp),%eax
4178fb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4178ff:	8b 54 24 18          	mov    0x18(%esp),%edx
417903:	50                   	push   %eax
417904:	8b 44 24 18          	mov    0x18(%esp),%eax
417908:	51                   	push   %ecx
417909:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41790d:	52                   	push   %edx
41790e:	50                   	push   %eax
41790f:	51                   	push   %ecx
417910:	e8 2b 00 00 00       	call   0x417940
417915:	83 c4 14             	add    $0x14,%esp
417918:	8b d8                	mov    %eax,%ebx
41791a:	85 f6                	test   %esi,%esi
41791c:	74 10                	je     0x41792e
41791e:	6a 13                	push   $0x13
417920:	e8 9b 7b ff ff       	call   0x40f4c0
417925:	83 c4 04             	add    $0x4,%esp
417928:	8b c3                	mov    %ebx,%eax
41792a:	5f                   	pop    %edi
41792b:	5e                   	pop    %esi
41792c:	5b                   	pop    %ebx
41792d:	c3                   	ret
41792e:	68 88 89 43 00       	push   $0x438988
417933:	ff d7                	call   *%edi
417935:	5f                   	pop    %edi
417936:	8b c3                	mov    %ebx,%eax
417938:	5e                   	pop    %esi
417939:	5b                   	pop    %ebx
41793a:	c3                   	ret
41793b:	90                   	nop
41793c:	90                   	nop
41793d:	90                   	nop
41793e:	90                   	nop
41793f:	90                   	nop
417940:	53                   	push   %ebx
417941:	55                   	push   %ebp
417942:	8b 6c 24 10          	mov    0x10(%esp),%ebp
417946:	56                   	push   %esi
417947:	85 ed                	test   %ebp,%ebp
417949:	57                   	push   %edi
41794a:	0f 84 60 01 00 00    	je     0x417ab0
417950:	8b 44 24 1c          	mov    0x1c(%esp),%eax
417954:	85 c0                	test   %eax,%eax
417956:	0f 84 54 01 00 00    	je     0x417ab0
41795c:	8a 5d 00             	mov    0x0(%ebp),%bl
41795f:	84 db                	test   %bl,%bl
417961:	75 18                	jne    0x41797b
417963:	8b 44 24 14          	mov    0x14(%esp),%eax
417967:	85 c0                	test   %eax,%eax
417969:	0f 84 41 01 00 00    	je     0x417ab0
41796f:	66 c7 00 00 00       	movw   $0x0,(%eax)
417974:	33 c0                	xor    %eax,%eax
417976:	5f                   	pop    %edi
417977:	5e                   	pop    %esi
417978:	5d                   	pop    %ebp
417979:	5b                   	pop    %ebx
41797a:	c3                   	ret
41797b:	8b 44 24 24          	mov    0x24(%esp),%eax
41797f:	85 c0                	test   %eax,%eax
417981:	75 0e                	jne    0x417991
417983:	8b 15 70 73 43 00    	mov    0x437370,%edx
417989:	8b 0d 80 73 43 00    	mov    0x437380,%ecx
41798f:	eb 05                	jmp    0x417996
417991:	8b 10                	mov    (%eax),%edx
417993:	8b 48 04             	mov    0x4(%eax),%ecx
417996:	85 d2                	test   %edx,%edx
417998:	75 1e                	jne    0x4179b8
41799a:	8b 44 24 14          	mov    0x14(%esp),%eax
41799e:	85 c0                	test   %eax,%eax
4179a0:	0f 84 00 01 00 00    	je     0x417aa6
4179a6:	66 33 c9             	xor    %cx,%cx
4179a9:	8a cb                	mov    %bl,%cl
4179ab:	66 89 08             	mov    %cx,(%eax)