41970d:	56                   	push   %esi
41970e:	57                   	push   %edi
41970f:	8b f2                	mov    %edx,%esi
419711:	8b d8                	mov    %eax,%ebx
419713:	8b c6                	mov    %esi,%eax
419715:	8b 53 04             	mov    0x4(%ebx),%edx
419718:	e8 2f 9d fe ff       	call   0x40344c
41971d:	84 c0                	test   %al,%al
41971f:	75 12                	jne    0x419733
419721:	8b 15 44 47 47 00    	mov    0x474744,%edx
419727:	33 c9                	xor    %ecx,%ecx
419729:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
41972e:	e8 dd ef ff ff       	call   0x418710
419733:	8b d6                	mov    %esi,%edx
419735:	8b 43 08             	mov    0x8(%ebx),%eax
419738:	e8 eb ee ff ff       	call   0x418628
41973d:	89 5e 04             	mov    %ebx,0x4(%esi)
419740:	8b 43 10             	mov    0x10(%ebx),%eax
419743:	89 46 08             	mov    %eax,0x8(%esi)
419746:	ff 43 10             	incl   0x10(%ebx)
419749:	8b d6                	mov    %esi,%edx
41974b:	8b c3                	mov    %ebx,%eax
41974d:	8b 08                	mov    (%eax),%ecx
41974f:	ff 51 18             	call   *0x18(%ecx)
419752:	33 c9                	xor    %ecx,%ecx
419754:	8b d6                	mov    %esi,%edx
419756:	8b c3                	mov    %ebx,%eax
419758:	8b 38                	mov    (%eax),%edi
41975a:	ff 57 14             	call   *0x14(%edi)
41975d:	8b c3                	mov    %ebx,%eax
41975f:	e8 c4 fc ff ff       	call   0x419428
419764:	33 c9                	xor    %ecx,%ecx
419766:	8b d6                	mov    %esi,%edx
419768:	8b c3                	mov    %ebx,%eax
41976a:	e8 1d f9 ff ff       	call   0x41908c
41976f:	5f                   	pop    %edi
419770:	5e                   	pop    %esi
419771:	5b                   	pop    %ebx
419772:	c3                   	ret
419773:	90                   	nop
419774:	53                   	push   %ebx
419775:	56                   	push   %esi
419776:	57                   	push   %edi
419777:	8b f2                	mov    %edx,%esi
419779:	8b d8                	mov    %eax,%ebx
41977b:	b1 01                	mov    $0x1,%cl
41977d:	8b d6                	mov    %esi,%edx
41977f:	8b c3                	mov    %ebx,%eax
419781:	8b 38                	mov    (%eax),%edi
419783:	ff 57 14             	call   *0x14(%edi)
419786:	8b 43 08             	mov    0x8(%ebx),%eax
419789:	e8 de f0 ff ff       	call   0x41886c
41978e:	3b f0                	cmp    %eax,%esi
419790:	75 0e                	jne    0x4197a0
419792:	8b 43 08             	mov    0x8(%ebx),%eax
419795:	8b 50 08             	mov    0x8(%eax),%edx
419798:	4a                   	dec    %edx
419799:	e8 d6 ee ff ff       	call   0x418674
41979e:	eb 0a                	jmp    0x4197aa
4197a0:	8b d6                	mov    %esi,%edx
4197a2:	8b 43 08             	mov    0x8(%ebx),%eax
4197a5:	e8 76 f1 ff ff       	call   0x418920
4197aa:	33 c0                	xor    %eax,%eax
4197ac:	89 46 04             	mov    %eax,0x4(%esi)
4197af:	b1 01                	mov    $0x1,%cl
4197b1:	8b d6                	mov    %esi,%edx
4197b3:	8b c3                	mov    %ebx,%eax
4197b5:	e8 d2 f8 ff ff       	call   0x41908c
4197ba:	8b c3                	mov    %ebx,%eax
4197bc:	e8 67 fc ff ff       	call   0x419428
4197c1:	5f                   	pop    %edi
4197c2:	5e                   	pop    %esi
4197c3:	5b                   	pop    %ebx
4197c4:	c3                   	ret
4197c5:	8d 40 00             	lea    0x0(%eax),%eax
4197c8:	c3                   	ret
4197c9:	8d 40 00             	lea    0x0(%eax),%eax
4197cc:	c3                   	ret
4197cd:	8d 40 00             	lea    0x0(%eax),%eax
4197d0:	c3                   	ret
4197d1:	8d 40 00             	lea    0x0(%eax),%eax
4197d4:	c3                   	ret
4197d5:	8d 40 00             	lea    0x0(%eax),%eax
4197d8:	51                   	push   %ecx
4197d9:	89 14 24             	mov    %edx,(%esp)
4197dc:	80 e9 01             	sub    $0x1,%cl
4197df:	72 06                	jb     0x4197e7
4197e1:	fe c9                	dec    %cl
4197e3:	74 0b                	je     0x4197f0
4197e5:	eb 11                	jmp    0x4197f8
4197e7:	8b d4                	mov    %esp,%edx
4197e9:	8b 08                	mov    (%eax),%ecx
4197eb:	ff 51 0c             	call   *0xc(%ecx)
4197ee:	5a                   	pop    %edx
4197ef:	c3                   	ret
4197f0:	8b 14 24             	mov    (%esp),%edx
4197f3:	8b 08                	mov    (%eax),%ecx
4197f5:	ff 51 10             	call   *0x10(%ecx)
4197f8:	5a                   	pop    %edx
4197f9:	c3                   	ret
4197fa:	8b c0                	mov    %eax,%eax
4197fc:	53                   	push   %ebx
4197fd:	56                   	push   %esi
4197fe:	e8 89 9e fe ff       	call   0x40368c
419803:	8b da                	mov    %edx,%ebx
419805:	8b f0                	mov    %eax,%esi
419807:	33 d2                	xor    %edx,%edx
419809:	8b c6                	mov    %esi,%eax
41980b:	e8 44 0b 00 00       	call   0x41a354
419810:	8b d3                	mov    %ebx,%edx
419812:	80 e2 fc             	and    $0xfc,%dl
419815:	8b c6                	mov    %esi,%eax
419817:	e8 50 f5 ff ff       	call   0x418d6c
41981c:	84 db                	test   %bl,%bl
41981e:	7e 07                	jle    0x419827
419820:	8b c6                	mov    %esi,%eax
419822:	e8 4d 9e fe ff       	call   0x403674
419827:	5e                   	pop    %esi
419828:	5b                   	pop    %ebx
419829:	c3                   	ret
41982a:	8b c0                	mov    %eax,%eax
41982c:	53                   	push   %ebx
41982d:	56                   	push   %esi
41982e:	57                   	push   %edi
41982f:	55                   	push   %ebp
419830:	8b ea                	mov    %edx,%ebp
419832:	8b f0                	mov    %eax,%esi
419834:	8b c6                	mov    %esi,%eax
419836:	8b 10                	mov    (%eax),%edx
419838:	ff 52 14             	call   *0x14(%edx)
41983b:	8b f8                	mov    %eax,%edi
41983d:	8b cd                	mov    %ebp,%ecx
41983f:	8b d7                	mov    %edi,%edx
419841:	8b c6                	mov    %esi,%eax
419843:	8b 18                	mov    (%eax),%ebx
419845:	ff 53 60             	call   *0x60(%ebx)
419848:	8b c7                	mov    %edi,%eax
41984a:	5d                   	pop    %ebp
41984b:	5f                   	pop    %edi
41984c:	5e                   	pop    %esi
41984d:	5b                   	pop    %ebx
41984e:	c3                   	ret
41984f:	90                   	nop
419850:	53                   	push   %ebx
419851:	56                   	push   %esi
419852:	57                   	push   %edi
419853:	8b f9                	mov    %ecx,%edi
419855:	8b d8                	mov    %eax,%ebx
419857:	8b c3                	mov    %ebx,%eax
419859:	8b 08                	mov    (%eax),%ecx
41985b:	ff 51 38             	call   *0x38(%ecx)
41985e:	8b f0                	mov    %eax,%esi
419860:	8b cf                	mov    %edi,%ecx
419862:	8b d6                	mov    %esi,%edx
419864:	8b c3                	mov    %ebx,%eax
419866:	8b 18                	mov    (%eax),%ebx
419868:	ff 53 24             	call   *0x24(%ebx)
41986b:	8b c6                	mov    %esi,%eax
41986d:	5f                   	pop    %edi
41986e:	5e                   	pop    %esi
41986f:	5b                   	pop    %ebx
419870:	c3                   	ret
419871:	8d 40 00             	lea    0x0(%eax),%eax
419874:	55                   	push   %ebp
419875:	8b ec                	mov    %esp,%ebp
419877:	83 c4 f4             	add    $0xfffffff4,%esp
41987a:	53                   	push   %ebx
41987b:	56                   	push   %esi
41987c:	57                   	push   %edi
41987d:	33 c9                	xor    %ecx,%ecx
41987f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
419882:	89 55 f8             	mov    %edx,-0x8(%ebp)
419885:	89 45 fc             	mov    %eax,-0x4(%ebp)
419888:	33 c0                	xor    %eax,%eax
41988a:	55                   	push   %ebp
41988b:	68 1b 99 41 00       	push   $0x41991b
419890:	64 ff 30             	push   %fs:(%eax)
419893:	64 89 20             	mov    %esp,%fs:(%eax)
419896:	8b 45 fc             	mov    -0x4(%ebp),%eax
419899:	e8 26 01 00 00       	call   0x4199c4
41989e:	33 c0                	xor    %eax,%eax
4198a0:	55                   	push   %ebp
4198a1:	68 fe 98 41 00       	push   $0x4198fe
4198a6:	64 ff 30             	push   %fs:(%eax)
4198a9:	64 89 20             	mov    %esp,%fs:(%eax)
4198ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
4198af:	8b 10                	mov    (%eax),%edx
4198b1:	ff 52 14             	call   *0x14(%edx)
4198b4:	8b f0                	mov    %eax,%esi
4198b6:	4e                   	dec    %esi
4198b7:	85 f6                	test   %esi,%esi
4198b9:	7c 2d                	jl     0x4198e8
4198bb:	46                   	inc    %esi
4198bc:	33 db                	xor    %ebx,%ebx
4198be:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4198c1:	8b d3                	mov    %ebx,%edx
4198c3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4198c6:	8b 38                	mov    (%eax),%edi
4198c8:	ff 57 0c             	call   *0xc(%edi)
4198cb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4198ce:	50                   	push   %eax
4198cf:	8b d3                	mov    %ebx,%edx
4198d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4198d4:	8b 08                	mov    (%eax),%ecx
4198d6:	ff 51 18             	call   *0x18(%ecx)
4198d9:	8b c8                	mov    %eax,%ecx
4198db:	8b 45 fc             	mov    -0x4(%ebp),%eax
4198de:	5a                   	pop    %edx
4198df:	8b 38                	mov    (%eax),%edi
4198e1:	ff 57 3c             	call   *0x3c(%edi)
4198e4:	43                   	inc    %ebx
4198e5:	4e                   	dec    %esi
4198e6:	75 d6                	jne    0x4198be
4198e8:	33 c0                	xor    %eax,%eax
4198ea:	5a                   	pop    %edx
4198eb:	59                   	pop    %ecx
4198ec:	59                   	pop    %ecx
4198ed:	64 89 10             	mov    %edx,%fs:(%eax)
4198f0:	68 05 99 41 00       	push   $0x419905
4198f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4198f8:	e8 83 01 00 00       	call   0x419a80
4198fd:	c3                   	ret
4198fe:	e9 51 a1 fe ff       	jmp    0x403a54
419903:	eb f0                	jmp    0x4198f5
419905:	33 c0                	xor    %eax,%eax
419907:	5a                   	pop    %edx
419908:	59                   	pop    %ecx
419909:	59                   	pop    %ecx
41990a:	64 89 10             	mov    %edx,%fs:(%eax)
41990d:	68 22 99 41 00       	push   $0x419922
419912:	8d 45 f4             	lea    -0xc(%ebp),%eax
419915:	e8 36 a7 fe ff       	call   0x404050
41991a:	c3                   	ret
41991b:	e9 34 a1 fe ff       	jmp    0x403a54
419920:	eb f0                	jmp    0x419912
419922:	5f                   	pop    %edi
419923:	5e                   	pop    %esi
419924:	5b                   	pop    %ebx
419925:	8b e5                	mov    %ebp,%esp
419927:	5d                   	pop    %ebp
419928:	c3                   	ret
419929:	8d 40 00             	lea    0x0(%eax),%eax
41992c:	55                   	push   %ebp
41992d:	8b ec                	mov    %esp,%ebp
41992f:	51                   	push   %ecx
419930:	53                   	push   %ebx
419931:	56                   	push   %esi
419932:	8b da                	mov    %edx,%ebx
419934:	89 45 fc             	mov    %eax,-0x4(%ebp)
419937:	8b c3                	mov    %ebx,%eax
419939:	8b 15 50 64 41 00    	mov    0x416450,%edx
41993f:	e8 08 9b fe ff       	call   0x40344c
419944:	84 c0                	test   %al,%al
419946:	74 6b                	je     0x4199b3
419948:	8b 45 fc             	mov    -0x4(%ebp),%eax
41994b:	e8 74 00 00 00       	call   0x4199c4
419950:	33 c0                	xor    %eax,%eax
419952:	55                   	push   %ebp
419953:	68 ac 99 41 00       	push   $0x4199ac
419958:	64 ff 30             	push   %fs:(%eax)
41995b:	64 89 20             	mov    %esp,%fs:(%eax)
41995e:	8b 45 fc             	mov    -0x4(%ebp),%eax
419961:	8b 10                	mov    (%eax),%edx
419963:	ff 52 44             	call   *0x44(%edx)
419966:	8b f3                	mov    %ebx,%esi
419968:	8a 46 04             	mov    0x4(%esi),%al
41996b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41996e:	88 42 04             	mov    %al,0x4(%edx)
419971:	8a 46 07             	mov    0x7(%esi),%al
419974:	8b 55 fc             	mov    -0x4(%ebp),%edx
419977:	88 42 07             	mov    %al,0x7(%edx)
41997a:	8a 46 06             	mov    0x6(%esi),%al
41997d:	8b 55 fc             	mov    -0x4(%ebp),%edx
419980:	88 42 06             	mov    %al,0x6(%edx)
419983:	8a 46 05             	mov    0x5(%esi),%al
419986:	8b 55 fc             	mov    -0x4(%ebp),%edx
419989:	88 42 05             	mov    %al,0x5(%edx)
41998c:	8b d6                	mov    %esi,%edx
41998e:	8b 45 fc             	mov    -0x4(%ebp),%eax
419991:	8b 08                	mov    (%eax),%ecx
419993:	ff 51 40             	call   *0x40(%ecx)
419996:	33 c0                	xor    %eax,%eax
419998:	5a                   	pop    %edx
419999:	59                   	pop    %ecx
41999a:	59                   	pop    %ecx
41999b:	64 89 10             	mov    %edx,%fs:(%eax)
41999e:	68 bd 99 41 00       	push   $0x4199bd
4199a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4199a6:	e8 d5 00 00 00       	call   0x419a80
4199ab:	c3                   	ret
4199ac:	e9 a3 a0 fe ff       	jmp    0x403a54
4199b1:	eb f0                	jmp    0x4199a3
4199b3:	8b d3                	mov    %ebx,%edx
4199b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4199b8:	e8 db f3 ff ff       	call   0x418d98
4199bd:	5e                   	pop    %esi
4199be:	5b                   	pop    %ebx
4199bf:	59                   	pop    %ecx
4199c0:	5d                   	pop    %ebp
4199c1:	c3                   	ret
4199c2:	8b c0                	mov    %eax,%eax
4199c4:	53                   	push   %ebx
4199c5:	8b d8                	mov    %eax,%ebx
4199c7:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
4199cb:	75 09                	jne    0x4199d6
4199cd:	b2 01                	mov    $0x1,%dl
4199cf:	8b c3                	mov    %ebx,%eax
4199d1:	8b 08                	mov    (%eax),%ecx
4199d3:	ff 51 30             	call   *0x30(%ecx)
4199d6:	ff 43 08             	incl   0x8(%ebx)
4199d9:	5b                   	pop    %ebx
4199da:	c3                   	ret
4199db:	90                   	nop
4199dc:	55                   	push   %ebp
4199dd:	8b ec                	mov    %esp,%ebp
4199df:	53                   	push   %ebx
4199e0:	56                   	push   %esi
4199e1:	8b 45 08             	mov    0x8(%ebp),%eax
4199e4:	8b 40 fc             	mov    -0x4(%eax),%eax
4199e7:	8b 70 20             	mov    0x20(%eax),%esi
4199ea:	85 f6                	test   %esi,%esi
4199ec:	74 2d                	je     0x419a1b
4199ee:	b3 01                	mov    $0x1,%bl
4199f0:	8b 45 08             	mov    0x8(%ebp),%eax
4199f3:	8b c6                	mov    %esi,%eax
4199f5:	8b 15 50 64 41 00    	mov    0x416450,%edx
4199fb:	e8 4c 9a fe ff       	call   0x40344c
419a00:	84 c0                	test   %al,%al
419a02:	74 27                	je     0x419a2b
419a04:	8b 45 08             	mov    0x8(%ebp),%eax
419a07:	8b d6                	mov    %esi,%edx
419a09:	8b 45 08             	mov    0x8(%ebp),%eax
419a0c:	8b 40 f8             	mov    -0x8(%eax),%eax
419a0f:	e8 80 00 00 00       	call   0x419a94
419a14:	8b d8                	mov    %eax,%ebx
419a16:	80 f3 01             	xor    $0x1,%bl
419a19:	eb 10                	jmp    0x419a2b
419a1b:	8b 45 08             	mov    0x8(%ebp),%eax
419a1e:	8b 40 f8             	mov    -0x8(%eax),%eax
419a21:	8b 10                	mov    (%eax),%edx
419a23:	ff 52 14             	call   *0x14(%edx)
419a26:	85 c0                	test   %eax,%eax
419a28:	0f 9f c3             	setg   %bl
419a2b:	8b c3                	mov    %ebx,%eax
419a2d:	5e                   	pop    %esi
419a2e:	5b                   	pop    %ebx
419a2f:	5d                   	pop    %ebp
419a30:	c3                   	ret
419a31:	8d 40 00             	lea    0x0(%eax),%eax
419a34:	55                   	push   %ebp