41e7f1:	56                   	push   %esi
41e7f2:	57                   	push   %edi
41e7f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e7f6:	8b 45 08             	mov    0x8(%ebp),%eax
41e7f9:	8b 40 fc             	mov    -0x4(%eax),%eax
41e7fc:	8b 40 30             	mov    0x30(%eax),%eax
41e7ff:	8b 58 08             	mov    0x8(%eax),%ebx
41e802:	4b                   	dec    %ebx
41e803:	85 db                	test   %ebx,%ebx
41e805:	7c 28                	jl     0x41e82f
41e807:	43                   	inc    %ebx
41e808:	33 ff                	xor    %edi,%edi
41e80a:	8b 45 08             	mov    0x8(%ebp),%eax
41e80d:	8b 40 fc             	mov    -0x4(%eax),%eax
41e810:	8b 40 30             	mov    0x30(%eax),%eax
41e813:	8b d7                	mov    %edi,%edx
41e815:	e8 6a 9f ff ff       	call   0x418784
41e81a:	8b f0                	mov    %eax,%esi
41e81c:	8b 46 08             	mov    0x8(%esi),%eax
41e81f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e822:	e8 4d 97 fe ff       	call   0x407f74
41e827:	84 c0                	test   %al,%al
41e829:	75 06                	jne    0x41e831
41e82b:	47                   	inc    %edi
41e82c:	4b                   	dec    %ebx
41e82d:	75 db                	jne    0x41e80a
41e82f:	33 f6                	xor    %esi,%esi
41e831:	8b c6                	mov    %esi,%eax
41e833:	5f                   	pop    %edi
41e834:	5e                   	pop    %esi
41e835:	5b                   	pop    %ebx
41e836:	59                   	pop    %ecx
41e837:	5d                   	pop    %ebp
41e838:	c3                   	ret
41e839:	8d 40 00             	lea    0x0(%eax),%eax
41e83c:	55                   	push   %ebp
41e83d:	8b ec                	mov    %esp,%ebp
41e83f:	83 c4 ec             	add    $0xffffffec,%esp
41e842:	53                   	push   %ebx
41e843:	56                   	push   %esi
41e844:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e847:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e84a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e84d:	8b 40 20             	mov    0x20(%eax),%eax
41e850:	89 45 f4             	mov    %eax,-0xc(%ebp)
41e853:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e856:	8b 40 28             	mov    0x28(%eax),%eax
41e859:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e85c:	33 c0                	xor    %eax,%eax
41e85e:	55                   	push   %ebp
41e85f:	68 83 e9 41 00       	push   $0x41e983
41e864:	64 ff 30             	push   %fs:(%eax)
41e867:	64 89 20             	mov    %esp,%fs:(%eax)
41e86a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e86d:	66 83 48 1c 04       	orw    $0x4,0x1c(%eax)
41e872:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e875:	e8 12 28 00 00       	call   0x42108c
41e87a:	8b f0                	mov    %eax,%esi
41e87c:	4e                   	dec    %esi
41e87d:	85 f6                	test   %esi,%esi
41e87f:	7c 26                	jl     0x41e8a7
41e881:	46                   	inc    %esi
41e882:	33 db                	xor    %ebx,%ebx
41e884:	8b d3                	mov    %ebx,%edx
41e886:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e889:	e8 d2 27 00 00       	call   0x421060
41e88e:	f6 40 24 04          	testb  $0x4,0x24(%eax)
41e892:	74 0f                	je     0x41e8a3
41e894:	8b d3                	mov    %ebx,%edx
41e896:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e899:	e8 c2 27 00 00       	call   0x421060
41e89e:	66 83 48 1c 04       	orw    $0x4,0x1c(%eax)
41e8a3:	43                   	inc    %ebx
41e8a4:	4e                   	dec    %esi
41e8a5:	75 dd                	jne    0x41e884
41e8a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8aa:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
41e8ae:	74 13                	je     0x41e8c3
41e8b0:	55                   	push   %ebp
41e8b1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e8b4:	8b 40 08             	mov    0x8(%eax),%eax
41e8b7:	e8 30 ff ff ff       	call   0x41e7ec
41e8bc:	59                   	pop    %ecx
41e8bd:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e8c0:	89 42 20             	mov    %eax,0x20(%edx)
41e8c3:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8c6:	66 83 78 42 00       	cmpw   $0x0,0x42(%eax)
41e8cb:	74 4e                	je     0x41e91b
41e8cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8d0:	8b 58 20             	mov    0x20(%eax),%ebx
41e8d3:	85 db                	test   %ebx,%ebx
41e8d5:	74 11                	je     0x41e8e8
41e8d7:	8b c3                	mov    %ebx,%eax
41e8d9:	8b 15 14 6e 41 00    	mov    0x416e14,%edx
41e8df:	e8 68 4b fe ff       	call   0x40344c
41e8e4:	84 c0                	test   %al,%al
41e8e6:	74 33                	je     0x41e91b
41e8e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8eb:	8b 40 20             	mov    0x20(%eax),%eax
41e8ee:	89 45 ec             	mov    %eax,-0x14(%ebp)
41e8f1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e8f4:	8b 40 08             	mov    0x8(%eax),%eax
41e8f7:	50                   	push   %eax
41e8f8:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e8fb:	50                   	push   %eax
41e8fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e8ff:	83 c0 28             	add    $0x28,%eax
41e902:	50                   	push   %eax
41e903:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41e906:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41e909:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e90c:	8b 43 44             	mov    0x44(%ebx),%eax
41e90f:	ff 53 40             	call   *0x40(%ebx)
41e912:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e915:	8b 55 ec             	mov    -0x14(%ebp),%edx
41e918:	89 50 20             	mov    %edx,0x20(%eax)
41e91b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e91e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e921:	8b 08                	mov    (%eax),%ecx
41e923:	ff 51 24             	call   *0x24(%ecx)
41e926:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e929:	66 83 60 1c fb       	andw   $0xfffb,0x1c(%eax)
41e92e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e931:	e8 56 27 00 00       	call   0x42108c
41e936:	8b f0                	mov    %eax,%esi
41e938:	4e                   	dec    %esi
41e939:	85 f6                	test   %esi,%esi
41e93b:	7c 26                	jl     0x41e963
41e93d:	46                   	inc    %esi
41e93e:	33 db                	xor    %ebx,%ebx
41e940:	8b d3                	mov    %ebx,%edx
41e942:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e945:	e8 16 27 00 00       	call   0x421060
41e94a:	f6 40 24 04          	testb  $0x4,0x24(%eax)
41e94e:	74 0f                	je     0x41e95f
41e950:	8b d3                	mov    %ebx,%edx
41e952:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e955:	e8 06 27 00 00       	call   0x421060
41e95a:	66 83 60 1c fb       	andw   $0xfffb,0x1c(%eax)
41e95f:	43                   	inc    %ebx
41e960:	4e                   	dec    %esi
41e961:	75 dd                	jne    0x41e940
41e963:	33 c0                	xor    %eax,%eax
41e965:	5a                   	pop    %edx
41e966:	59                   	pop    %ecx
41e967:	59                   	pop    %ecx
41e968:	64 89 10             	mov    %edx,%fs:(%eax)
41e96b:	68 8a e9 41 00       	push   $0x41e98a
41e970:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e973:	8b 55 f4             	mov    -0xc(%ebp),%edx
41e976:	89 50 20             	mov    %edx,0x20(%eax)
41e979:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e97c:	8b 55 f0             	mov    -0x10(%ebp),%edx
41e97f:	89 50 28             	mov    %edx,0x28(%eax)
41e982:	c3                   	ret
41e983:	e9 cc 50 fe ff       	jmp    0x403a54
41e988:	eb e6                	jmp    0x41e970
41e98a:	5e                   	pop    %esi
41e98b:	5b                   	pop    %ebx
41e98c:	8b e5                	mov    %ebp,%esp
41e98e:	5d                   	pop    %ebp
41e98f:	c3                   	ret
41e990:	55                   	push   %ebp
41e991:	8b ec                	mov    %esp,%ebp
41e993:	81 c4 c8 fe ff ff    	add    $0xfffffec8,%esp
41e999:	53                   	push   %ebx
41e99a:	56                   	push   %esi
41e99b:	33 c9                	xor    %ecx,%ecx
41e99d:	89 8d c8 fe ff ff    	mov    %ecx,-0x138(%ebp)
41e9a3:	89 8d d4 fe ff ff    	mov    %ecx,-0x12c(%ebp)
41e9a9:	89 8d d0 fe ff ff    	mov    %ecx,-0x130(%ebp)
41e9af:	89 8d cc fe ff ff    	mov    %ecx,-0x134(%ebp)
41e9b5:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e9b8:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e9bb:	33 c0                	xor    %eax,%eax
41e9bd:	55                   	push   %ebp
41e9be:	68 6c ed 41 00       	push   $0x41ed6c
41e9c3:	64 ff 30             	push   %fs:(%eax)
41e9c6:	64 89 20             	mov    %esp,%fs:(%eax)
41e9c9:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
41e9cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e9d2:	8b 00                	mov    (%eax),%eax
41e9d4:	e8 37 48 fe ff       	call   0x403210
41e9d9:	33 db                	xor    %ebx,%ebx
41e9db:	8a 9d d8 fe ff ff    	mov    -0x128(%ebp),%bl
41e9e1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e9e4:	8b 40 08             	mov    0x8(%eax),%eax
41e9e7:	e8 24 59 fe ff       	call   0x404310
41e9ec:	03 d8                	add    %eax,%ebx
41e9ee:	43                   	inc    %ebx
41e9ef:	83 c3 05             	add    $0x5,%ebx
41e9f2:	83 c3 03             	add    $0x3,%ebx
41e9f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e9f8:	8b 40 0c             	mov    0xc(%eax),%eax
41e9fb:	8b 55 fc             	mov    -0x4(%ebp),%edx
41e9fe:	2b 42 10             	sub    0x10(%edx),%eax
41ea01:	3b d8                	cmp    %eax,%ebx
41ea03:	7e 08                	jle    0x41ea0d
41ea05:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea08:	e8 c3 fc ff ff       	call   0x41e6d0
41ea0d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea10:	e8 7b fb ff ff       	call   0x41e590
41ea15:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ea18:	a0 7c ed 41 00       	mov    0x41ed7c,%al
41ea1d:	88 45 db             	mov    %al,-0x25(%ebp)
41ea20:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ea23:	f6 40 1d 02          	testb  $0x2,0x1d(%eax)
41ea27:	74 27                	je     0x41ea50
41ea29:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea2c:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41ea30:	74 18                	je     0x41ea4a
41ea32:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ea35:	f6 40 1c 20          	testb  $0x20,0x1c(%eax)
41ea39:	74 0f                	je     0x41ea4a
41ea3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea3e:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
41ea42:	74 06                	je     0x41ea4a
41ea44:	80 4d db 01          	orb    $0x1,-0x25(%ebp)
41ea48:	eb 13                	jmp    0x41ea5d
41ea4a:	80 4d db 04          	orb    $0x4,-0x25(%ebp)
41ea4e:	eb 0d                	jmp    0x41ea5d
41ea50:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea53:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41ea57:	74 04                	je     0x41ea5d
41ea59:	80 4d db 01          	orb    $0x1,-0x25(%ebp)
41ea5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea60:	8b 58 30             	mov    0x30(%eax),%ebx
41ea63:	85 db                	test   %ebx,%ebx
41ea65:	74 31                	je     0x41ea98
41ea67:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea6a:	8b 40 34             	mov    0x34(%eax),%eax
41ea6d:	3b 43 08             	cmp    0x8(%ebx),%eax
41ea70:	7d 26                	jge    0x41ea98
41ea72:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea75:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41ea79:	74 19                	je     0x41ea94
41ea7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea7e:	8b 50 34             	mov    0x34(%eax),%edx
41ea81:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea84:	8b 40 30             	mov    0x30(%eax),%eax
41ea87:	e8 f8 9c ff ff       	call   0x418784
41ea8c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ea8f:	3b 42 20             	cmp    0x20(%edx),%eax
41ea92:	74 04                	je     0x41ea98
41ea94:	80 4d db 02          	orb    $0x2,-0x25(%ebp)
41ea98:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ea9b:	8b 48 38             	mov    0x38(%eax),%ecx
41ea9e:	8a 55 db             	mov    -0x25(%ebp),%dl
41eaa1:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eaa4:	e8 17 05 00 00       	call   0x41efc0
41eaa9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eaac:	80 78 48 00          	cmpb   $0x0,0x48(%eax)
41eab0:	74 72                	je     0x41eb24
41eab2:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eab5:	e8 4e 47 fe ff       	call   0x403208
41eaba:	e8 41 4a fe ff       	call   0x403500
41eabf:	e8 40 60 ff ff       	call   0x414b04
41eac4:	8d 50 0a             	lea    0xa(%eax),%edx
41eac7:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
41eacd:	e8 e2 57 fe ff       	call   0x4042b4
41ead2:	ff b5 d0 fe ff ff    	push   -0x130(%ebp)
41ead8:	68 88 ed 41 00       	push   $0x41ed88
41eadd:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
41eae3:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eae6:	8b 00                	mov    (%eax),%eax
41eae8:	e8 23 47 fe ff       	call   0x403210
41eaed:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
41eaf3:	8d 85 cc fe ff ff    	lea    -0x134(%ebp),%eax
41eaf9:	e8 b6 57 fe ff       	call   0x4042b4
41eafe:	ff b5 cc fe ff ff    	push   -0x134(%ebp)
41eb04:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
41eb0a:	ba 03 00 00 00       	mov    $0x3,%edx
41eb0f:	e8 bc 58 fe ff       	call   0x4043d0
41eb14:	8b 95 d4 fe ff ff    	mov    -0x12c(%ebp),%edx
41eb1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb1d:	e8 12 1b 00 00       	call   0x420634
41eb22:	eb 2f                	jmp    0x41eb53
41eb24:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
41eb2a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eb2d:	8b 00                	mov    (%eax),%eax
41eb2f:	e8 dc 46 fe ff       	call   0x403210
41eb34:	8d 95 d8 fe ff ff    	lea    -0x128(%ebp),%edx
41eb3a:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
41eb40:	e8 6f 57 fe ff       	call   0x4042b4
41eb45:	8b 95 c8 fe ff ff    	mov    -0x138(%ebp),%edx
41eb4b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb4e:	e8 e1 1a 00 00       	call   0x420634
41eb53:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eb56:	8b 50 08             	mov    0x8(%eax),%edx
41eb59:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb5c:	e8 d3 1a 00 00       	call   0x420634
41eb61:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb64:	e8 27 fa ff ff       	call   0x41e590
41eb69:	89 45 f0             	mov    %eax,-0x10(%ebp)
41eb6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb6f:	8b 40 30             	mov    0x30(%eax),%eax
41eb72:	85 c0                	test   %eax,%eax
41eb74:	74 20                	je     0x41eb96
41eb76:	8b 55 fc             	mov    -0x4(%ebp),%edx
41eb79:	8b 52 34             	mov    0x34(%edx),%edx
41eb7c:	3b 50 08             	cmp    0x8(%eax),%edx
41eb7f:	7d 15                	jge    0x41eb96
41eb81:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb84:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
41eb88:	74 06                	je     0x41eb90
41eb8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb8d:	ff 40 34             	incl   0x34(%eax)
41eb90:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb93:	ff 40 38             	incl   0x38(%eax)
41eb96:	8b 55 f8             	mov    -0x8(%ebp),%edx
41eb99:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb9c:	e8 63 04 00 00       	call   0x41f004
41eba1:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eba4:	e8 0f 04 00 00       	call   0x41efb8
41eba9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebac:	8b 40 30             	mov    0x30(%eax),%eax
41ebaf:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ebb2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebb5:	8b 40 34             	mov    0x34(%eax),%eax
41ebb8:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ebbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebbe:	8b 40 38             	mov    0x38(%eax),%eax
41ebc1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41ebc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebc7:	8b 40 18             	mov    0x18(%eax),%eax
41ebca:	89 45 e0             	mov    %eax,-0x20(%ebp)
41ebcd:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebd0:	8b 40 28             	mov    0x28(%eax),%eax
41ebd3:	89 45 dc             	mov    %eax,-0x24(%ebp)
41ebd6:	33 c0                	xor    %eax,%eax
41ebd8:	55                   	push   %ebp
41ebd9:	68 0d ed 41 00       	push   $0x41ed0d
41ebde:	64 ff 30             	push   %fs:(%eax)
41ebe1:	64 89 20             	mov    %esp,%fs:(%eax)
41ebe4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebe7:	33 d2                	xor    %edx,%edx
41ebe9:	89 50 30             	mov    %edx,0x30(%eax)
41ebec:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebef:	33 d2                	xor    %edx,%edx
41ebf1:	89 50 34             	mov    %edx,0x34(%eax)
41ebf4:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebf7:	33 d2                	xor    %edx,%edx
41ebf9:	89 50 38             	mov    %edx,0x38(%eax)
41ebfc:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebff:	80 78 24 00          	cmpb   $0x0,0x24(%eax)
41ec03:	0f 85 c9 00 00 00    	jne    0x41ecd2
41ec09:	33 c0                	xor    %eax,%eax
41ec0b:	55                   	push   %ebp
41ec0c:	68 cb ec 41 00       	push   $0x41eccb
41ec11:	64 ff 30             	push   %fs:(%eax)