41a8ed:	8b ec                	mov    %esp,%ebp
41a8ef:	53                   	push   %ebx
41a8f0:	56                   	push   %esi
41a8f1:	57                   	push   %edi
41a8f2:	8b f9                	mov    %ecx,%edi
41a8f4:	8b f2                	mov    %edx,%esi
41a8f6:	8b d8                	mov    %eax,%ebx
41a8f8:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41a8fc:	74 0f                	je     0x41a90d
41a8fe:	8b 15 70 46 47 00    	mov    0x474670,%edx
41a904:	33 c9                	xor    %ecx,%ecx
41a906:	8b c3                	mov    %ebx,%eax
41a908:	e8 6b f2 ff ff       	call   0x419b78
41a90d:	85 f6                	test   %esi,%esi
41a90f:	7c 05                	jl     0x41a916
41a911:	3b 73 14             	cmp    0x14(%ebx),%esi
41a914:	7e 0f                	jle    0x41a925
41a916:	8b 15 ec 47 47 00    	mov    0x4747ec,%edx
41a91c:	8b ce                	mov    %esi,%ecx
41a91e:	8b c3                	mov    %ebx,%eax
41a920:	e8 53 f2 ff ff       	call   0x419b78
41a925:	8b 45 08             	mov    0x8(%ebp),%eax
41a928:	50                   	push   %eax
41a929:	8b cf                	mov    %edi,%ecx
41a92b:	8b d6                	mov    %esi,%edx
41a92d:	8b c3                	mov    %ebx,%eax
41a92f:	8b 18                	mov    (%eax),%ebx
41a931:	ff 93 88 00 00 00    	call   *0x88(%ebx)
41a937:	5f                   	pop    %edi
41a938:	5e                   	pop    %esi
41a939:	5b                   	pop    %ebx
41a93a:	5d                   	pop    %ebp
41a93b:	c2 04 00             	ret    $0x4
41a93e:	8b c0                	mov    %eax,%eax
41a940:	55                   	push   %ebp
41a941:	8b ec                	mov    %esp,%ebp
41a943:	53                   	push   %ebx
41a944:	56                   	push   %esi
41a945:	57                   	push   %edi
41a946:	8b f9                	mov    %ecx,%edi
41a948:	8b f2                	mov    %edx,%esi
41a94a:	8b d8                	mov    %eax,%ebx
41a94c:	8b c3                	mov    %ebx,%eax
41a94e:	8b 10                	mov    (%eax),%edx
41a950:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a956:	8b 43 14             	mov    0x14(%ebx),%eax
41a959:	3b 43 18             	cmp    0x18(%ebx),%eax
41a95c:	75 07                	jne    0x41a965
41a95e:	8b c3                	mov    %ebx,%eax
41a960:	e8 07 ff ff ff       	call   0x41a86c
41a965:	8b 43 14             	mov    0x14(%ebx),%eax
41a968:	3b f0                	cmp    %eax,%esi
41a96a:	7d 1d                	jge    0x41a989
41a96c:	8b 53 10             	mov    0x10(%ebx),%edx
41a96f:	8d 54 f2 08          	lea    0x8(%edx,%esi,8),%edx
41a973:	52                   	push   %edx
41a974:	8b 53 10             	mov    0x10(%ebx),%edx
41a977:	8d 14 f2             	lea    (%edx,%esi,8),%edx
41a97a:	2b c6                	sub    %esi,%eax
41a97c:	8b c8                	mov    %eax,%ecx
41a97e:	c1 e1 03             	shl    $0x3,%ecx
41a981:	8b c2                	mov    %edx,%eax
41a983:	5a                   	pop    %edx
41a984:	e8 67 7f fe ff       	call   0x4028f0
41a989:	8b 43 10             	mov    0x10(%ebx),%eax
41a98c:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41a98f:	8b f0                	mov    %eax,%esi
41a991:	33 c0                	xor    %eax,%eax
41a993:	89 06                	mov    %eax,(%esi)
41a995:	8b 45 08             	mov    0x8(%ebp),%eax
41a998:	89 46 04             	mov    %eax,0x4(%esi)
41a99b:	8b c6                	mov    %esi,%eax
41a99d:	8b d7                	mov    %edi,%edx
41a99f:	e8 00 97 fe ff       	call   0x4040a4
41a9a4:	ff 43 14             	incl   0x14(%ebx)
41a9a7:	8b c3                	mov    %ebx,%eax
41a9a9:	8b 10                	mov    (%eax),%edx
41a9ab:	ff 92 80 00 00 00    	call   *0x80(%edx)
41a9b1:	5f                   	pop    %edi
41a9b2:	5e                   	pop    %esi
41a9b3:	5b                   	pop    %ebx
41a9b4:	5d                   	pop    %ebp
41a9b5:	c2 04 00             	ret    $0x4
41a9b8:	53                   	push   %ebx
41a9b9:	56                   	push   %esi
41a9ba:	57                   	push   %edi
41a9bb:	8b f9                	mov    %ecx,%edi
41a9bd:	8b f2                	mov    %edx,%esi
41a9bf:	8b d8                	mov    %eax,%ebx
41a9c1:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41a9c5:	74 0f                	je     0x41a9d6
41a9c7:	8b 15 70 46 47 00    	mov    0x474670,%edx
41a9cd:	33 c9                	xor    %ecx,%ecx
41a9cf:	8b c3                	mov    %ebx,%eax
41a9d1:	e8 a2 f1 ff ff       	call   0x419b78
41a9d6:	85 f6                	test   %esi,%esi
41a9d8:	7c 05                	jl     0x41a9df
41a9da:	3b 73 14             	cmp    0x14(%ebx),%esi
41a9dd:	7c 0f                	jl     0x41a9ee
41a9df:	8b 15 ec 47 47 00    	mov    0x4747ec,%edx
41a9e5:	8b ce                	mov    %esi,%ecx
41a9e7:	8b c3                	mov    %ebx,%eax
41a9e9:	e8 8a f1 ff ff       	call   0x419b78
41a9ee:	8b c3                	mov    %ebx,%eax
41a9f0:	8b 10                	mov    (%eax),%edx
41a9f2:	ff 92 84 00 00 00    	call   *0x84(%edx)
41a9f8:	8b 43 10             	mov    0x10(%ebx),%eax
41a9fb:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41a9fe:	8b d7                	mov    %edi,%edx
41aa00:	e8 9f 96 fe ff       	call   0x4040a4
41aa05:	8b c3                	mov    %ebx,%eax
41aa07:	8b 10                	mov    (%eax),%edx
41aa09:	ff 92 80 00 00 00    	call   *0x80(%edx)
41aa0f:	5f                   	pop    %edi
41aa10:	5e                   	pop    %esi
41aa11:	5b                   	pop    %ebx
41aa12:	c3                   	ret
41aa13:	90                   	nop
41aa14:	53                   	push   %ebx
41aa15:	56                   	push   %esi
41aa16:	57                   	push   %edi
41aa17:	8b f9                	mov    %ecx,%edi
41aa19:	8b f2                	mov    %edx,%esi
41aa1b:	8b d8                	mov    %eax,%ebx
41aa1d:	85 f6                	test   %esi,%esi
41aa1f:	7c 05                	jl     0x41aa26
41aa21:	3b 73 14             	cmp    0x14(%ebx),%esi
41aa24:	7c 0f                	jl     0x41aa35
41aa26:	8b 15 ec 47 47 00    	mov    0x4747ec,%edx
41aa2c:	8b ce                	mov    %esi,%ecx
41aa2e:	8b c3                	mov    %ebx,%eax
41aa30:	e8 43 f1 ff ff       	call   0x419b78
41aa35:	8b c3                	mov    %ebx,%eax
41aa37:	8b 10                	mov    (%eax),%edx
41aa39:	ff 92 84 00 00 00    	call   *0x84(%edx)
41aa3f:	8b 43 10             	mov    0x10(%ebx),%eax
41aa42:	89 7c f0 04          	mov    %edi,0x4(%eax,%esi,8)
41aa46:	8b c3                	mov    %ebx,%eax
41aa48:	8b 10                	mov    (%eax),%edx
41aa4a:	ff 92 80 00 00 00    	call   *0x80(%edx)
41aa50:	5f                   	pop    %edi
41aa51:	5e                   	pop    %esi
41aa52:	5b                   	pop    %ebx
41aa53:	c3                   	ret
41aa54:	55                   	push   %ebp
41aa55:	8b ec                	mov    %esp,%ebp
41aa57:	83 c4 f0             	add    $0xfffffff0,%esp
41aa5a:	53                   	push   %ebx
41aa5b:	56                   	push   %esi
41aa5c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41aa5f:	89 55 f8             	mov    %edx,-0x8(%ebp)
41aa62:	89 45 fc             	mov    %eax,-0x4(%ebp)
41aa65:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41aa68:	8b 75 f4             	mov    -0xc(%ebp),%esi
41aa6b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41aa6e:	03 45 f4             	add    -0xc(%ebp),%eax
41aa71:	d1 e8                	shr    $1,%eax
41aa73:	89 45 f0             	mov    %eax,-0x10(%ebp)
41aa76:	eb 01                	jmp    0x41aa79
41aa78:	43                   	inc    %ebx
41aa79:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41aa7c:	8b d3                	mov    %ebx,%edx
41aa7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aa81:	ff 55 08             	call   *0x8(%ebp)
41aa84:	85 c0                	test   %eax,%eax
41aa86:	7c f0                	jl     0x41aa78
41aa88:	eb 01                	jmp    0x41aa8b
41aa8a:	4e                   	dec    %esi
41aa8b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41aa8e:	8b d6                	mov    %esi,%edx
41aa90:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aa93:	ff 55 08             	call   *0x8(%ebp)
41aa96:	85 c0                	test   %eax,%eax
41aa98:	7f f0                	jg     0x41aa8a
41aa9a:	3b f3                	cmp    %ebx,%esi
41aa9c:	7c 20                	jl     0x41aabe
41aa9e:	8b ce                	mov    %esi,%ecx
41aaa0:	8b d3                	mov    %ebx,%edx
41aaa2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aaa5:	e8 c2 fc ff ff       	call   0x41a76c
41aaaa:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
41aaad:	75 05                	jne    0x41aab4
41aaaf:	89 75 f0             	mov    %esi,-0x10(%ebp)
41aab2:	eb 08                	jmp    0x41aabc
41aab4:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41aab7:	75 03                	jne    0x41aabc
41aab9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41aabc:	43                   	inc    %ebx
41aabd:	4e                   	dec    %esi
41aabe:	3b f3                	cmp    %ebx,%esi
41aac0:	7d b7                	jge    0x41aa79
41aac2:	3b 75 f8             	cmp    -0x8(%ebp),%esi
41aac5:	7e 11                	jle    0x41aad8
41aac7:	8b 45 08             	mov    0x8(%ebp),%eax
41aaca:	50                   	push   %eax
41aacb:	8b ce                	mov    %esi,%ecx
41aacd:	8b 55 f8             	mov    -0x8(%ebp),%edx
41aad0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41aad3:	e8 7c ff ff ff       	call   0x41aa54
41aad8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41aadb:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
41aade:	7c 85                	jl     0x41aa65
41aae0:	5e                   	pop    %esi
41aae1:	5b                   	pop    %ebx
41aae2:	8b e5                	mov    %ebp,%esp
41aae4:	5d                   	pop    %ebp
41aae5:	c2 04 00             	ret    $0x4
41aae8:	53                   	push   %ebx
41aae9:	56                   	push   %esi
41aaea:	8b f2                	mov    %edx,%esi
41aaec:	8b d8                	mov    %eax,%ebx
41aaee:	8b d6                	mov    %esi,%edx
41aaf0:	c1 e2 03             	shl    $0x3,%edx
41aaf3:	8d 43 10             	lea    0x10(%ebx),%eax
41aaf6:	e8 39 7c fe ff       	call   0x402734
41aafb:	89 73 18             	mov    %esi,0x18(%ebx)
41aafe:	5e                   	pop    %esi
41aaff:	5b                   	pop    %ebx
41ab00:	c3                   	ret
41ab01:	8d 40 00             	lea    0x0(%eax),%eax
41ab04:	53                   	push   %ebx
41ab05:	56                   	push   %esi
41ab06:	8b da                	mov    %edx,%ebx
41ab08:	8b f0                	mov    %eax,%esi
41ab0a:	3a 5e 1c             	cmp    0x1c(%esi),%bl
41ab0d:	74 11                	je     0x41ab20
41ab0f:	84 db                	test   %bl,%bl
41ab11:	74 0a                	je     0x41ab1d
41ab13:	8b c6                	mov    %esi,%eax
41ab15:	8b 10                	mov    (%eax),%edx
41ab17:	ff 92 90 00 00 00    	call   *0x90(%edx)
41ab1d:	88 5e 1c             	mov    %bl,0x1c(%esi)
41ab20:	5e                   	pop    %esi
41ab21:	5b                   	pop    %ebx
41ab22:	c3                   	ret
41ab23:	90                   	nop
41ab24:	84 d2                	test   %dl,%dl
41ab26:	74 09                	je     0x41ab31
41ab28:	8b 10                	mov    (%eax),%edx
41ab2a:	ff 92 84 00 00 00    	call   *0x84(%edx)
41ab30:	c3                   	ret
41ab31:	8b 10                	mov    (%eax),%edx
41ab33:	ff 92 80 00 00 00    	call   *0x80(%edx)
41ab39:	c3                   	ret
41ab3a:	8b c0                	mov    %eax,%eax
41ab3c:	53                   	push   %ebx
41ab3d:	8b 58 10             	mov    0x10(%eax),%ebx
41ab40:	8b 0c cb             	mov    (%ebx,%ecx,8),%ecx
41ab43:	8b 58 10             	mov    0x10(%eax),%ebx
41ab46:	8b 14 d3             	mov    (%ebx,%edx,8),%edx
41ab49:	8b 18                	mov    (%eax),%ebx
41ab4b:	ff 53 34             	call   *0x34(%ebx)
41ab4e:	5b                   	pop    %ebx
41ab4f:	c3                   	ret
41ab50:	ba 3c ab 41 00       	mov    $0x41ab3c,%edx
41ab55:	8b 08                	mov    (%eax),%ecx
41ab57:	ff 91 94 00 00 00    	call   *0x94(%ecx)
41ab5d:	c3                   	ret
41ab5e:	8b c0                	mov    %eax,%eax
41ab60:	53                   	push   %ebx
41ab61:	56                   	push   %esi
41ab62:	8b f2                	mov    %edx,%esi
41ab64:	8b d8                	mov    %eax,%ebx
41ab66:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41ab6a:	75 28                	jne    0x41ab94
41ab6c:	83 7b 14 01          	cmpl   $0x1,0x14(%ebx)
41ab70:	7e 22                	jle    0x41ab94
41ab72:	8b c3                	mov    %ebx,%eax
41ab74:	8b 10                	mov    (%eax),%edx
41ab76:	ff 92 84 00 00 00    	call   *0x84(%edx)
41ab7c:	56                   	push   %esi
41ab7d:	8b 4b 14             	mov    0x14(%ebx),%ecx
41ab80:	49                   	dec    %ecx
41ab81:	33 d2                	xor    %edx,%edx
41ab83:	8b c3                	mov    %ebx,%eax
41ab85:	e8 ca fe ff ff       	call   0x41aa54
41ab8a:	8b c3                	mov    %ebx,%eax
41ab8c:	8b 10                	mov    (%eax),%edx
41ab8e:	ff 92 80 00 00 00    	call   *0x80(%edx)
41ab94:	5e                   	pop    %esi
41ab95:	5b                   	pop    %ebx
41ab96:	c3                   	ret
41ab97:	90                   	nop
41ab98:	80 78 1e 00          	cmpb   $0x0,0x1e(%eax)
41ab9c:	74 0a                	je     0x41aba8
41ab9e:	8b c2                	mov    %edx,%eax
41aba0:	8b d1                	mov    %ecx,%edx
41aba2:	e8 25 d4 fe ff       	call   0x407fcc
41aba7:	c3                   	ret
41aba8:	8b c2                	mov    %edx,%eax
41abaa:	8b d1                	mov    %ecx,%edx
41abac:	e8 53 d4 fe ff       	call   0x408004
41abb1:	c3                   	ret
41abb2:	8b c0                	mov    %eax,%eax
41abb4:	83 c4 f8             	add    $0xfffffff8,%esp
41abb7:	6a 00                	push   $0x0
41abb9:	6a 00                	push   $0x0
41abbb:	b2 01                	mov    $0x1,%dl
41abbd:	8b 08                	mov    (%eax),%ecx
41abbf:	ff 51 18             	call   *0x18(%ecx)
41abc2:	89 04 24             	mov    %eax,(%esp)
41abc5:	89 54 24 04          	mov    %edx,0x4(%esp)
41abc9:	8b 04 24             	mov    (%esp),%eax
41abcc:	8b 54 24 04          	mov    0x4(%esp),%edx
41abd0:	59                   	pop    %ecx
41abd1:	5a                   	pop    %edx
41abd2:	c3                   	ret
41abd3:	90                   	nop
41abd4:	55                   	push   %ebp
41abd5:	8b ec                	mov    %esp,%ebp
41abd7:	ff 75 0c             	push   0xc(%ebp)
41abda:	ff 75 08             	push   0x8(%ebp)
41abdd:	33 d2                	xor    %edx,%edx
41abdf:	8b 08                	mov    (%eax),%ecx
41abe1:	ff 51 18             	call   *0x18(%ecx)
41abe4:	5d                   	pop    %ebp
41abe5:	c2 08 00             	ret    $0x8
41abe8:	53                   	push   %ebx
41abe9:	83 c4 f0             	add    $0xfffffff0,%esp
41abec:	8b d8                	mov    %eax,%ebx
41abee:	6a 00                	push   $0x0
41abf0:	6a 00                	push   $0x0
41abf2:	b2 01                	mov    $0x1,%dl
41abf4:	8b c3                	mov    %ebx,%eax
41abf6:	8b 08                	mov    (%eax),%ecx
41abf8:	ff 51 18             	call   *0x18(%ecx)
41abfb:	89 44 24 08          	mov    %eax,0x8(%esp)
41abff:	89 54 24 0c          	mov    %edx,0xc(%esp)
41ac03:	6a 00                	push   $0x0
41ac05:	6a 00                	push   $0x0
41ac07:	b2 02                	mov    $0x2,%dl
41ac09:	8b c3                	mov    %ebx,%eax
41ac0b:	8b 08                	mov    (%eax),%ecx
41ac0d:	ff 51 18             	call   *0x18(%ecx)
41ac10:	89 04 24             	mov    %eax,(%esp)
41ac13:	89 54 24 04          	mov    %edx,0x4(%esp)
41ac17:	ff 74 24 0c          	push   0xc(%esp)
41ac1b:	ff 74 24 0c          	push   0xc(%esp)
41ac1f:	33 d2                	xor    %edx,%edx
41ac21:	8b c3                	mov    %ebx,%eax
41ac23:	8b 08                	mov    (%eax),%ecx
41ac25:	ff 51 18             	call   *0x18(%ecx)
41ac28:	8b 04 24             	mov    (%esp),%eax
41ac2b:	8b 54 24 04          	mov    0x4(%esp),%edx
41ac2f:	83 c4 10             	add    $0x10,%esp
41ac32:	5b                   	pop    %ebx
41ac33:	c3                   	ret
41ac34:	c3                   	ret
41ac35:	8d 40 00             	lea    0x0(%eax),%eax
41ac38:	55                   	push   %ebp